lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 14 Dec 2006 00:37:51 +0100
From:	Arnd Bergmann <arnd@...db.de>
To:	Mike Kravetz <kravetz@...ibm.com>
Cc:	cbe-oss-dev@...abs.org, linuxppc-dev@...abs.org,
	linux-mm@...ck.org,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Andy Whitcroft <apw@...dowen.org>,
	Michael Kravetz <mkravetz@...ibm.com>, hch@...radead.org,
	Jeremy Kerr <jk@...abs.org>, linux-kernel@...r.kernel.org,
	Paul Mackerras <paulus@...ba.org>,
	Andrew Morton <akpm@...l.org>
Subject: Re: Bug: early_pfn_in_nid() called when not early

On Thursday 14 December 2006 00:17, Mike Kravetz wrote:
> Thanks for the debug work!  Just curious if you really need
> CONFIG_NODES_SPAN_OTHER_NODES defined for your platform?  Can you get
> those types of memory layouts?  If not, an easy/immediate fix for you
> might be to simply turn off the option.

We want to be able to run the same kernel as pseries, e.g. on
distributions that ship only one kernel. Cell should be able to
live without CONFIG_NODES_SPAN_OTHER_NODES, but that does not solve
the problem for us.

> > --- linux-2.6.orig/mm/page_alloc.c
> > +++ linux-2.6/mm/page_alloc.c
> > @@ -1962,7 +1962,8 @@ void __meminit memmap_init_zone(unsigned
> >       for (pfn = start_pfn; pfn < end_pfn; pfn++) {
> >               if (!early_pfn_valid(pfn))
> >                       continue;
> > -             if (!early_pfn_in_nid(pfn, nid))
> > +             if (!slab_is_available() &&
> > +                 !early_pfn_in_nid(pfn, nid))
> >                       continue;
> >               page = pfn_to_page(pfn);
> >               set_page_links(page, zone, nid, pfn);
> 
> I know you don't recommend this as a fix, but it has the interesting
> quality of doing exactly what we want for powerpc.  When
> slab_is_available() we are performing a 'memory add' operation
> and there is no need to do the 'pfn_in_nid' check.  We know that
> the range of added pages will all be on the same (passed) nid.

Right, that was at least my intention, though I wasn't sure
if pseries can live without the check.

	Arnd <><
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ