All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.