bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #28730] Bad Mach object cache reuse


From: Sergio López
Subject: [bug #28730] Bad Mach object cache reuse
Date: Fri, 30 Apr 2010 00:03:13 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.30 Safari/532.5

Follow-up Comment #1, bug #28730 (project hurd):

I think we should replace the cache system for memory objects (at least for
the ones with external pagers). How about something like this:

* GNU Mach
** Get rid of vm_object_cached_*. If an object can persist, it'll persist
forever (or until a pager changes its attributes).
** Separate pages of memory objects with external pagers into a different
queue. Treat it like cache. If we want to free some, ask the translator (by
using one of its pagers) to unallocate some objects (translators can select
the ones they want to, Mach will only give them a hint on how many space
should be freed). This requires a new interface.
** (Optional) Maintain cached pages statistics per task (pager's owner). Use
it as foundation for cache quotas. 

* Hurd
** Keep track of every action that could alter the contents of a pager. Take
special attention with mmap(). Use a lru queue with pointers to the pagers.
For everyone of those actions, mark the object as dirty and update queue.
** Sync only objects marked as dirty.
** When GNU Mask ask us to unallocate some objects, start running through the
queue until the hint provided by the kernel is archieved.


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?28730>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]