Re: [patch] mspec - special memory driver and do_no_pfn handler

From: Linus Torvalds <>
Date: 2006-03-17 12:04:14
On Thu, 16 Mar 2006, Andrew Morton wrote:
> hm.  Is that a superset of ->nopage?  Should we be looking at
> migrating over to ->nopfn, retire ->nopage?
> <looks at the ghastly stuff in do_no_page>
> Maybe not...

Yeah, absolutely _not_.

If we wouldn't pass the "struct page" around, we wouldn't have anything to 
synchronize with, and each nopage() function would have to do rmap stuff.

That's actually how nopage() worked a long time ago (not rmap, but it was 
up the the low-level function to do all the page table logic etc). 
Switching to returning a structured return value and letting the generic 
VM code handle all the locking and the races was a _huge_ improvement.

So yes, the modern "->nopage()" interface is less flexible, but it's less 
flexible for a very good reason. 

Quite frankly, I don't think nopfn() is a good interface. It's only usable 
for one single thing, so trying to claim that it's a generic VM op is 
really not valid. If (and that's a big if) we need this interface, we 
should just do it inside mm/memory.c instead of playing games as if it was 

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Fri Mar 17 12:05:04 2006

This archive was generated by hypermail 2.1.8 : 2006-03-17 12:05:16 EST