Re: 2.6.18-rc3-mm2 early_param mem= fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/7/06, Eric W. Biederman <[email protected]> wrote:
Hugh Dickins <[email protected]> writes:

> On Sun, 6 Aug 2006, Hugh Dickins wrote:
>> I was impressed by how fast 2.6.18-rc3-mm2 is under memory pressure,
>> until I noticed that my "mem=512M" boot option was doing nothing.  The
>> two fixes below got it working, but I wonder how many other early_param
>> "option=" args are wrong (e.g. "memmap=" in the same file): x86_64
>> shows many such, i386 shows only one, I've not followed it up further.
>
> Oh, and that's not enough for it to show up in x86_64's /proc/cmdline.

The /proc/cmdline part is easy.

Someone deleted the copy from saved_command_line to command_line.
Since kernel/params.c:parse_args called in init/main.c is destructive
if we don't do this we will never see a reasonable command line in /proc,
and /init implementations that parse /proc/command_line will choke horribly.

Signed-off-by: Eric W. Biederman <[email protected]>

diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index 3bc1ff4..37206a4 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -378,7 +378,8 @@ #endif
        early_identify_cpu(&boot_cpu_data);

        parse_early_param();
-       *cmdline_p = saved_command_line;
+       memcpy(command_line, saved_command_line, COMMAND_LINE_SIZE);
+       *cmdline_p = command_line;

        finish_e820_parsing();

Ok this helped keep the cmdline around but the early_param is still
busted with 2.6.18-rc3-mm2 (I don't have cmdline problem with non -mm
2.6.18-rc3).

I am booting with numa=hotadd=100 on x86_64.  The parameter
hotadd_percent is not getting setup right. Printk tells me that
numa_setup is not called during boot.

if I change

early_param("numa=", numa_setup);
to
early_param("numa", numa_setup);

The parameter hotadd_percent is setup right but there is a
"Malformed early option 'numa'" message.

Is there some other patch that I missed to fix this?

Also it seems like the earlyconsole isn't getting setup right.... It
seems to take forever to start (say about 20-30 seconds) This pause in
the boot is caused by the reserve hot-add patch but early console
should start before the pause.

command line is root=/dev/sda3
ip=9.47.66.153:9.47.66.169:9.47.66.1:255.255.255.0 resume=/dev/sda2
showopts earlyprintk=ttyS0,115200 console=ttyS0,115200 console=tty0
debug numa=hotadd=100

Again thing work as expected with 2.6.18-rc3.

Thanks,
 Keith
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux