Re: [PATCH 06/43] mm: numa: Make pte_numa() and pmd_numa() a genericimplementation

From: Mel Gorman
Date: Fri Nov 16 2012 - 13:55:12 EST


On Fri, Nov 16, 2012 at 07:04:04PM +0100, Ingo Molnar wrote:
>
> * Mel Gorman <mgorman@xxxxxxx> wrote:
>
> > That said, your approach just ends up being heavier. [...]
>
> Well, it's more fundamental than just whether to inline or not
> (which I think should be a separate optimization and I won't
> object to two-instruction variants the slightest) - but you
> ended up open-coding change_protection()
> via:
>
> change_prot_numa_range() et al
>
> which is a far bigger problem...
>
> Do you have valid technical arguments in favor of that
> duplication?
>

No, I don't and I have not claimed that it *has* to exist. In fact I've
said multiple times than I can convert to change_protection as long as
_PAGE_NUMA == _PAGE_NONE. This initial step was to build the list
of requirements without worrying about breaking existing users of
change_protection. Now that I know what the requirements are, I can convert.

> If you just embrace the PROT_NONE reuse approach of numa/core
> then 90% of the differences in your tree will disappear and
> you'll have a code base very close to where numa/core was 3
> weeks ago already, modulo a handful of renames.
>

Pointed out the missing parts in another mail already -- MIGRATE_FAULT,
pmd handling in batch, stats and a logical progression from a simple to
a complex policy.

> It's not like PROT_NONE will go away anytime soon.
>
> PROT_NONE is available on every architecture, and we use the
> exact semantics of it in the scheduler, we just happen to drive
> it from a special worklet instead of a syscall, and happen to
> have a callback to the faults when they happen...
>
> Please stay open to that approach.
>

I will.

If anything, me switching to prot_none would be a hell of a lot easier
than you trying to pick up the bits you're missing. I'll take a look
Monday and see what falls out.

--
Mel Gorman
SUSE Labs
--
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/