mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Chris Mason <mason@suse.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: bootcache
Date: Wed, 15 Dec 2004 23:32:35 +0100	[thread overview]
Message-ID: <20041215223235.GA28286@dualathlon.random> (raw)
In-Reply-To: <20041214184312.GP16322@dualathlon.random>

I finished the pagecache granularity feature of bootcache here
~andrea/bootcache-2.6.8-2 .

Only done basic testing so far. Example:

<b:dentry> /usr/local/sbin/less
<b:inode> /tmp/log <0:8>
<b:dentry> /root/bin/less
<b:dentry> /usr/local/bin/less
<b:dentry> /usr/bin/less
<b:inode> /usr/bin/less <0:8> <8:8> <16:8> <24:8> <32:8> <40:8> <48:8> <56:8> <64:8> <72:8> <80:8> <88:8> <96:8> <104:8> <112:8> <120:8> <144:8> <152:8> <160:8> <168:8> <176:8> <184:8> <192:8> <200:8> <208:8> <216:8> <224:8> <232:8> <240:8> <248:8> <256:8> <264:8> <272:8> <280:8> <288:8> <296:8> <304:8> <312:8> <320:8> <328:8> <128:8> <136:8>
<b:dentry> /usr/bin/.sysless
<b:dentry> /etc/sysless
<b:dentry> /etc/lesskey.bin
<b:inode> /etc/lesskey.bin <0:8>
<b:dentry> /meminfo
<b:dentry> /root/bin/sh
<b:dentry> /usr/local/bin/sh
<b:dentry> /usr/bin/sh
<b:dentry> /usr/X11R6/bin/sh
<b:dentry> /meminfo
<b:dentry> /sbin/lessopen.sh
<b:dentry> /usr/sbin/lessopen.sh
<b:dentry> /usr/local/sbin/lessopen.sh
<b:dentry> /root/bin/lessopen.sh
<b:dentry> /usr/local/bin/lessopen.sh
<b:dentry> /usr/bin/lessopen.sh
<b:inode> /usr/bin/lessopen.sh <0:8>
<b:dentry> /meminfo
<b:dentry> /usr/local/sbin/mktemp
<b:dentry> /root/bin/mktemp
<b:dentry> /usr/local/bin/mktemp
<b:dentry> /usr/bin/mktemp
<b:dentry> /usr/X11R6/bin/mktemp
<b:dentry> /tmp/less.1iVAj3
<b:dentry> /tmp/less.qwT7w3
<b:dentry> /sbin/file
<b:dentry> /usr/sbin/file
<b:dentry> /usr/local/sbin/file
<b:dentry> /root/bin/file
<b:dentry> /usr/local/bin/file
<b:dentry> /usr/bin/file
<b:inode> /usr/bin/file <0:8> <8:8> <16:8> <24:8> <32:8> <40:8> <48:8> <56:8> <64:8> <72:8> <80:8>
<b:dentry> /root/.magic
<b:dentry> /usr/share/misc
<b:dentry> /usr/share/misc/magic.mgc
<b:inode> /usr/share/misc/magic.mgc <0:8> <8:8> <16:8> <24:8> <32:8> <40:8> <48:8> <56:8> <64:8> <72:8> <80:8> <88:8> <96:8> <104:8> <112:8> <120:8> <128:8> <136:8> <144:8> <152:8> <160:8> <168:8> <176:8> <184:8> <192:8> <200:8> <208:8> <216:8> <224:8> <232:8> <240:8> <248:8> <256:8> <264:8> <272:8> <280:8> <288:8> <296:8> <304:8> <312:8> <320:8> <328:8> <336:8> <344:8> <352:8> <360:8> <368:8> <376:8> <384:8> <392:8> <400:8> <408:8> <416:8> <424:8> <432:8> <440:8> <448:8> <456:8> <464:8> <472:8> <480:8> <488:8> <496:8> <504:8> <512:8> <520:8> <528:8> <536:8> <544:8> <552:8> <560:8> <568:8> <576:8> <584:8> <592:8> <600:8> <608:8> <616:8> <624:8> <632:8> <640:8> <648:8> <656:8> <664:8> <672:8> <680:8> <688:8> <696:8> <704:8> <712:8> <720:8> <728:8> <736:8> <744:8> <752:8> <760:8> <768:8> <776:8> <784:8> <792:8> <800:8> <808:8> <816:8> <824:8>
<b:dentry> /root/bin/rm
<b:dentry> /usr/local/bin/rm
<b:dentry> /usr/X11R6/bin/rm
<b:dentry> /meminfo
<b:dentry> /sbin/xselection
<b:dentry> /usr/sbin/xselection
<b:dentry> /usr/local/sbin/xselection
<b:dentry> /root/bin/xselection
<b:dentry> /usr/local/bin/xselection
<b:dentry> /usr/bin/xselection

This is in sector units, to optimize for space (arch indipendent of course).

I could compress the ranges nicely with a timer: the timer is needed to flush
the last entry. If it wasn't for the last entry before the file is closed, I
wouldn't need a timer. OTOH the above is quite nice too, so we see exactly how
the pagecache is being allocated.

Userspace must be robust against missing pieces of the trace, when a
regexp fail userspace should just jump to the next line. This because
we're working with a ring buffer, and if userspace doesn't keep up, the
buffer will overflow. The size of the ring is only 1 page, I could
increase it if overflows happen in practice (I didn't see overflows yet,
but the more data we add, the more likely they could happen).

           reply	other threads:[~2004-12-15 22:32 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20041214184312.GP16322@dualathlon.random>]

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=20041215223235.GA28286@dualathlon.random \
    --to=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    /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

all inboxes | Powered by JetHome®