Messages in this thread | | | Date | Fri, 16 Nov 2012 18:55:17 +0000 | From | Mel Gorman <> | Subject | Re: [PATCH 06/43] mm: numa: Make pte_numa() and pmd_numa() a generic implementation |
| |
On Fri, Nov 16, 2012 at 07:04:04PM +0100, Ingo Molnar wrote: > > * Mel Gorman <mgorman@suse.de> 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
| |