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

Andrew Morton
2008-03-19T19:34:06Z

On Wed, 19 Mar 2008 09:32:28 +0100 Andi Kleen <andi@firstfloor.org> 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@firstfloor.org> 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.