From: ebiederm@xmission.com (Eric W. Biederman)
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Tejun Heo <tj@kernel.org>, hacklu <embedway.linux@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] x86, boot: Optimize the elf header handling.
Date: Sun, 01 Jul 2012 13:40:05 -0700 [thread overview]
Message-ID: <87txxr6wre.fsf@xmission.com> (raw)
In-Reply-To: <4FF0A399.8070207@zytor.com> (H. Peter Anvin's message of "Sun, 01 Jul 2012 12:23:05 -0700")
"H. Peter Anvin" <hpa@zytor.com> writes:
> On 07/01/2012 12:20 PM, Eric W. Biederman wrote:
>>
>> Grumble Grumble.
>>
>> If I force a 2M alignment, poffsets and paddrs align and my previous
>> patches work. Although I don't expect that to be more than a testing
>> hack.
>>
>> Meanwhile if I force a 4K max page size for most purposes things look
>> better from a file offset perspective. But the data segment is now less
>> aligned in the file than it is in memory and my patches don't work.
>>
>> Sigh.
>>
>> I feel like I have stumbled into pandoras box.
>>
>
> Last I looked at this we didn't actually have a general PHDR parser...
> are you running into its limitations?
Sort of. It was my premise that we should not need a general PHDR
parser, or even a parser at all , especially since a general PHDR parser
is hard to fit into the existing bzImage protocol. So far emperically
except when dealing with the weird percpu section we don't need a
general PHDR parser.
There is just enough weirdness that it makes sense to have a
phdr parser that just verifies it doesn't need to do anything.
So I have tracked down part of the crazyness.
CONFIG_RODATA actually uses 2MB alignment, making
-z max_page_size=4096 a bit questionable.
In practice I'm not concerned with a few extra zero's in the file
because giant runs of zeros compress very well.
I am going to play with the percpu section a bit more and see if
I can remove the need for magic to get it's p_offset and p_paddr
to be aligned in the file, as that comes for free with everything
else.
Hmm. I think I see why the percpu section is problematic. We have to
specify AT on all of our sections and the usual formula is
".section : AT(.section - LOAD_OFFSET)". Unfortunately that doesn't
work when we we set the virtual address to zero.
I will play with it a little more and see if I can come up with
something interesting.
Eric
next prev parent reply other threads:[~2012-07-01 20:40 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-17 5:56 why the decompressed procedure move kernel from address 0x100000(1M) to 0x1000000(16M) +x hacklu
2012-06-02 23:48 ` Eric W. Biederman
2012-06-03 3:10 ` H. Peter Anvin
2012-06-03 8:41 ` Eric W. Biederman
2012-06-03 13:01 ` H. Peter Anvin
2012-06-03 20:30 ` [PATCH 1/2] x86, boot: Don't overlap the compressed and non-compressed image Eric W. Biederman
2012-06-03 20:32 ` [PATCH 2/2] x86, boot: Optimize the elf header handling Eric W. Biederman
2012-07-01 14:56 ` [tip:x86/boot] " tip-bot for Eric W. Biederman
2012-07-01 15:04 ` [PATCH 2/2] " H. Peter Anvin
2012-07-01 15:34 ` H. Peter Anvin
2012-07-01 16:08 ` Eric W. Biederman
2012-07-01 16:11 ` H. Peter Anvin
2012-07-01 16:26 ` Eric W. Biederman
2012-07-01 16:44 ` H. Peter Anvin
2012-07-01 17:09 ` Eric W. Biederman
2012-07-01 17:15 ` H. Peter Anvin
2012-07-01 18:25 ` Eric W. Biederman
2012-07-01 18:37 ` H. Peter Anvin
2012-07-01 19:20 ` Eric W. Biederman
2012-07-01 19:23 ` H. Peter Anvin
2012-07-01 20:40 ` Eric W. Biederman [this message]
2012-07-01 20:52 ` H. Peter Anvin
2012-07-09 6:50 ` Eric W. Biederman
2012-07-09 6:52 ` [PATCH 1/4] x86 boot: Jump to the entry point address in the elf header Eric W. Biederman
2012-07-09 6:53 ` [PATCH 2/4] x86 boot: Optimize the elf header handling Eric W. Biederman
2012-07-09 6:55 ` [PATCH 3/4] x86 boot: When building vmlinux.bin properly precompute the memory image Eric W. Biederman
2012-07-09 6:56 ` [PATCH 4/4] x86 boot: Tell ld the kernel doesn't want 2MB file offset alignment Eric W. Biederman
2012-07-09 6:59 ` [PATCH 1/4] x86 boot: Jump to the entry point address in the elf header Eric W. Biederman
2012-07-02 16:56 ` [PATCH 2/2] x86, boot: Optimize the elf header handling Tejun Heo
2012-07-09 7:03 ` Eric W. Biederman
2012-07-01 2:23 ` [PATCH 1/2] x86, boot: Don't overlap the compressed and non-compressed image Eric W. Biederman
2012-07-01 2:32 ` H. Peter Anvin
2012-07-01 5:22 ` Eric W. Biederman
2012-07-01 14:55 ` [tip:x86/boot] x86, boot: Don' t " tip-bot for Eric W. Biederman
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=87txxr6wre.fsf@xmission.com \
--to=ebiederm@xmission.com \
--cc=embedway.linux@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
/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
Powered by JetHome