public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes@saeurebad.de>
To: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>, Yinghai Lu <yhlu.kernel@gmail.com>,
	Andi Kleen <andi@firstfloor.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH -mm 11/14] bootmem: respect goal more likely
Date: Wed, 04 Jun 2008 22:25:46 +0200	[thread overview]
Message-ID: <87fxrtaqwl.fsf@saeurebad.de> (raw)
In-Reply-To: <20080604193712.97A9.E1E9C6FF@jp.fujitsu.com> (Yasunori Goto's message of "Wed, 04 Jun 2008 19:55:29 +0900")

Hi,

Yasunori Goto <y-goto@jp.fujitsu.com> writes:

>> This check is backwards and probably made your boot fail.
>> 
>> >> +		if (limit && limit < bdata->node_boot_start)
>> >> +			continue;
>> 
>> Changed this to break, because we don't need to search any further if
>> the current node already starts at/above the limit (remember, we walk a
>> list sorted by ->node_boot_start here).
>> 
>> I also made the checks more intuitively understandable.
>> 
>> Could you try the following fix on top of this patch?
>
> I tried it. However, my box cannot boot yet.
>
>>>  	max -= PFN_DOWN(bdata->node_boot_start);
>>>  	start -= PFN_DOWN(bdata->node_boot_start);
>>> +	fallback -= PFN_DOWN(bdata->node_boot_start);
>
> I thought this fallback was wrong at first, 
> because fallback may point 0 at this time,
> it doesn't point start_pfn of this node.
>
> But even if here is commented out, kernel can't boot up yet.

Oh, that should go out, sorry.  It is a left-over from another way to do
it.  Should pay more attention :/

> I'd like to straggle more, but may be need more time,
> because, IA64 doesn't have early_printk, and console is not enable
> at here.....

Hm, just to make sure: this is the patch that breaks booting, right?  If
you apply all patches in the series before this one, the machine boots
fine?

Could you boot a working image with bootmem_debug in the command line?
Perhaps seeing the usual bootmem usage on this box gives a hint what is
broken.

> P.S.
> I was very confused by local variable namimng in alloc_bootmem_core. 
> I suppose start, max, and end, should be named like
> sidx, eidx, and midx. They are not pfn, but index of bitmap.

Okay, I will make them more clear.

> However, new_start and new_end should be named as new_start_offset and
> new_end_offset. They are not index, but offset from start address of
> the node.

Yes, that too.  I would also rename last_offset to last_eidx and
last_success to last_sidx.  What do you think?

	Hannes

  reply	other threads:[~2008-06-04 20:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-03  0:50 [PATCH -mm 00/14] bootmem rewrite v3 Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 01/14] bootmem: reorder code to match new bootmem structure Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 02/14] bootmem: clean up bootmem.c file header Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 03/14] bootmem: add documentation to API functions Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 04/14] bootmem: add debugging framework Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 05/14] bootmem: revisit bitmap size calculations Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 06/14] bootmem: revisit bootmem descriptor list handling Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 07/14] bootmem: clean up free_all_bootmem_core Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 08/14] bootmem: clean up alloc_bootmem_core Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 09/14] bootmem: free/reserve helpers Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 10/14] bootmem: factor out the marking of a PFN range Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 11/14] bootmem: respect goal more likely Johannes Weiner
2008-06-03 13:59   ` Yasunori Goto
2008-06-03 16:16     ` Johannes Weiner
2008-06-04 10:55       ` Yasunori Goto
2008-06-04 20:25         ` Johannes Weiner [this message]
2008-06-05  2:58           ` Yasunori Goto
2008-06-05  4:13             ` Johannes Weiner
     [not found]               ` <20080605134455.6457.E1E9C6FF@jp.fujitsu.com>
2008-06-05  8:22                 ` Johannes Weiner
2008-06-05  8:31               ` Yasunori Goto
2008-06-05 16:41                 ` Johannes Weiner
2008-06-06  0:25                   ` Yasunori Goto
2008-06-03  0:50 ` [PATCH -mm 12/14] bootmem: Make __alloc_bootmem_low_node fall back to other nodes Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 13/14] bootmem: revisit alloc_bootmem_section Johannes Weiner
2008-06-03  0:50 ` [PATCH -mm 14/14] bootmem: replace node_boot_start in struct bootmem_data Johannes Weiner
  -- strict thread matches above, loose matches on Subject: below --
2008-06-05 22:49 [PATCH -mm 00/14] bootmem rewrite v4 Johannes Weiner
2008-06-05 22:49 ` [PATCH -mm 11/14] bootmem: respect goal more likely Johannes Weiner
2008-05-30 19:42 [PATCH -mm 00/14] bootmem rewrite v2 Johannes Weiner
2008-05-30 19:42 ` [PATCH -mm 11/14] bootmem: respect goal more likely Johannes Weiner
2008-05-30 20:16   ` Johannes Weiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fxrtaqwl.fsf@saeurebad.de \
    --to=hannes@saeurebad.de \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=y-goto@jp.fujitsu.com \
    --cc=yhlu.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox