Re: [PATCH 3/7] Generic Virtual Memmap support for SPARSEMEM

Christoph Hellwig
2007-07-14T16:33:19Z

On Sat, Jul 14, 2007 at 09:06:58AM -0700, Christoph Lameter wrote:
> > > +#ifndef CONFIG_ARCH_POPULATES_SPARSEMEM_VMEMMAP
> > > +void __meminit vmemmap_verify(pte_t *pte, int node,
> > > + unsigned long start, unsigned long end)
> > > +{
> > > + unsigned long pfn = pte_pfn(*pte);
> > > + int actual_node = early_pfn_to_nid(pfn);
> > > +
> > > + if (actual_node != node)
> > > + printk(KERN_WARNING "[%lx-%lx] potential offnode "
> > > + "page_structs\n", start, end - 1);
> > > +}
> >
> > Given tht this function is a tiny noop please just put them into the
> > arch dir for !CONFIG_ARCH_POPULATES_SPARSEMEM_VMEMMAP architectures
> > and save yourself both the ifdef mess and the config option.
>
> Then its no longer generic. You are ripping the basic framework of
> sparsemem apart.

It's not generic. Most of it is under a maze of obscure config options.
The patchset in it's current form is a complete mess of obscure ifefery
and not quite generic code. And it only adds new memory models without
ripping old stuff out. So while I really like the basic idea the patches
need quite a lot more work until they're mergeable.