Messages in this thread | | | Date | Wed, 02 Nov 2005 11:34:02 +1100 | From | Nick Piggin <> | Subject | Re: Nick's core remove PageReserved broke vmware... |
| |
Petr Vandrovec wrote: > Hello Nick, > what's the reason behind disallowing get_user_pages() on VM_RESERVED > regions? vmmon uses VM_RESERVED on its 'vma' as otherwise some kernels > used by SUSE complained loudly about mismatch between PageReserved() and > VM_RESERVED flags. >
Hi Petr,
The reason is that VM_RESERVED indicates that the core vm is not allowed to touch any 'struct page' through this mapping, which get_user_pages would do.
> I'll remove it from vmmon for >= 2.6.14 kernels as that bogus test > never made to Linux kernel, but I cannot find any reason why > get_user_pages() should not work on VM_RESERVED (or VM_IO for that > matter) user pages. Can you show me reasoning behind that decision ?
The reasoning behind the decision was so VM_RESERVED is usable for a complete replacement to PageReserved. For example mappings through /dev/mem should not touch the page count.
You may be able to go a step further and clear PageReserved from your pages as well, and thus have a working driver without special casing for both kernels.
Thanks, Nick
-- SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |