* Matthew Dillon <[EMAIL PROTECTED]> [000216 16:05] wrote:
>
>     It is possible to fix the problem.  We can add a new mmap() flag which
>     we call MAP_GUARDED which would basically be an anonymous mmap() which
>     implements a special case in vm_fault.  This pager is designed to always
>     return a failure for the first and last page.  The size of the mmap() 
>     determines where the guard pages are and would be stored as part of 
>     the vm_map_entry (only for the MAP_GUARDED case).  
> 
>     Adjacent vm_map_entry structures with the same guard size would be 
>     coalesced.
> 
>     Thus any threaded program will still only require a single vm_map_entry
>     field yet still be completely flexible in regards to the guard pages.
> 
>     Is anyone interested in me doing this for the 4.0 release?  It would
>     help both our current threads model and the linux threads model a lot.
>     I can do it in a day and it should be trivial to test, the modifications
>     are actually quite minor.

I'd love to see it happen for 4.0.  Toss some diffs
up and we'll see if Jordan gives it an ok.

-- 
-Alfred Perlstein - [[EMAIL PROTECTED]|[EMAIL PROTECTED]]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to