Re: [PATCH prototype] [0/8] Predictive bitmaps for ELF executables

From: Andrew Morton
Date: Wed Mar 19 2008 - 15:34:08 EST


On Wed, 19 Mar 2008 09:32:28 +0100 Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> On Tue, Mar 18, 2008 at 10:44:37AM -0700, Andrew Morton wrote:
> > On Tue, 18 Mar 2008 18:20:45 +0100 Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> >
> > > > What's the permission problem? executable-but-not-readable files? Could
> > >
> > > Not writable.
> >
> > Oh.
> >
> > I doubt if a userspace implementation would even try to alter the ELF
> > files, really - there seems to be no point in it. This is just complexity
>
> Well the information has to be somewhere and i think the ELF file
> is the best location for it. It makes it the most user transparent.

Adopt a standard, stick with it.

Assuming that all users have the same access pattern might be inefficient,
a little bit. There might be some advantage to making it per-user, dunno.

The requirement to write to an executable sounds like a bit of a
showstopper.

> > > Yes it could, but i dont even want to thi nk about all the issues of
> > > doing such an interface. It is basically an microkernelish approach.
> > > I prefer monolithic simplicity.
> >
> > It's not complex at all. Pass a null-terminated pathname to the server and
> > keep running. The server will asynchronously read your pages for you.
>
> But how do you update the bitmap in your scheme?

umm,

BITMAP_TRAINING_RUN=1 /usr/lib64/firefox-2.0.0.12/firefox-bin

will write the bitmap to ~/.bitmaps/usr/lib64/firefox-2.0.0.12/firefox-bin ?

if it proves useful, build it all into libc..


I'm assuming that the per-page minor fault cost is relatively low and that
the major benefit is in disk scheduling[*]. If that's false then we'd need
kernel support I guess - some sort of gang-fault syscall?


* solid-state disks are going to put a lot of code out of a job.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/