lkml.org 
[lkml]   [2006]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] mspec - special memory driver and do_no_pfn handler


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
generic.

Linus
-
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/

\
 
 \ /
  Last update: 2009-11-18 23:46    [from the cache]
©2003-2011 Jasper Spaans