Re: [PATCH 6/13] maps: Move the page walker code to lib/

From: Nick Piggin
Date: Wed Apr 04 2007 - 21:32:44 EST


Matt Mackall wrote:
On Wed, Apr 04, 2007 at 03:50:56PM +1000, Nick Piggin wrote:

Matt Mackall wrote:

On Wed, Apr 04, 2007 at 01:51:37PM +1000, Nick Piggin wrote:


Matt Mackall wrote:


Move the page walker code to lib/

This lets it get shared outside of proc/ and linked in only when
needed.

I think it would be better in mm/.


I originally was looking at putting it in mm/memory.c and possibly

Just put it in its own file in mm/ rather than its own file in lib.
lib should be for almost-standalone stuff, IMO (ie. only using basic
kernel functionality).


Arguably that's what lib/ should be for, but it's currently largely

I disagree. There is code everywhere that exists to provide some
functionality via an API to other parts of the kernel. You don't
think mm/page_alloc.c should go in lib/?

used to avoid linking in unused code without adding more hair to
Kconfig. Which is what I'm trying to do here.

Well if you're doing a nice big reorganisation and jumble, then
why would you worry about a few lines in Kconfig?

Apart from these users outside mm/, I don't see much point in converting
things over. The page table walking API we have now is neat and simple.
It takes a few lines of code, but is it a big problem?


I don't think it really qualifies as either neat or simple. It may be
about as neat as walking a heterogenous tree with an inconsistent
naming scheme can be, but it's still a headache. A maze of twisty
little passages, all slightly different.

All page table range walking code should be the same.
It is a simple template to use to walk a range of ptes. It is
a headache outside mm/, sure, but not because of its incredible
complexity.

--
SUSE Labs, Novell Inc.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/