[haiku-bugs] Re: [Haiku] #5328: Had reserved page but threre is none after latest slab/vm changes

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Thu, 28 Jan 2010 20:55:51 -0000

#5328: Had reserved page but threre is none after latest slab/vm changes
---------------------------+------------------------------------------------
 Reporter:  mmlr           |       Owner:  bonefish      
     Type:  bug            |      Status:  in-progress   
 Priority:  high           |   Milestone:  R1            
Component:  System/Kernel  |     Version:  R1/Development
 Keywords:                 |   Blockedby:                
 Platform:  All            |    Blocking:                
---------------------------+------------------------------------------------

Comment(by bonefish):

 Just FYI, I understand the problem now: The invariant is actually never
 violated, since unreserved free + system reserve can become negative. The
 logical flaw is that the pages vm_page_unreserve_pages() unreserves cannot
 be just added to the system reserve, since that implies that that many
 pages are actually available, which might not be the case when the
 unreserved free count is already negative. This can be easily remedied by
 checking that condition first, but steal_pages() has a similar problem,
 which is not so easily fixed -- at least in a way that still makes the
 system reserve work as it should.

 I will instead drop steal_pages() completely and rewrite the page daemon.
 But that may take a while.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5328#comment:8>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: