From: Phillip Lougher <phillip@lougher.demon.co.uk>
To: Jared Hulbert <jaredeh@gmail.com>
Cc: cotte@de.ibm.com, linux-embedded@vger.kernel.org,
nickpiggin@yahoo.com.au, "Jörn Engel" <joern@logfs.org>,
Linux-kernel@vger.kernel.org,
linux-mtd <linux-mtd@lists.infradead.org>,
tim.bird@am.sony.com
Subject: Re: [PATCH 04/10] AXFS: axfs_inode.c
Date: Fri, 22 Aug 2008 04:46:47 +0100 [thread overview]
Message-ID: <48AE36A7.4060000@lougher.demon.co.uk> (raw)
In-Reply-To: <6934efce0808212027q412c4cbbp6ea8673a7d3bc1b9@mail.gmail.com>
Jared Hulbert wrote:
>> I assume compressed blocks can be larger than PAGE_CACHE_SIZE? This suffers
>> from the rather obvious inefficiency that you decompress a big block >
>> PAGE_CACHE_SIZE, but only copy one PAGE_CACHE_SIZE page out of it. If
>> multiple files are being read simultaneously (a common occurrence), then
>> each is going to replace your one cached uncompressed block
>> (sbi->current_cnode_index), leading to decompressing the same blocks over
>> and over again on sequential file access.
>>
>> readpage file A, index 1 -> decompress block X
>> readpage file B, index 1 -> decompress block Y (replaces X)
>> readpage file A, index 2 -> repeated decompress of block X (replaces Y)
>> readpage file B, index 2 -> repeated decompress of block Y (replaces X)
>>
>> and so on.
>
> Yep. Been thinking about optimizing it. So far it hasn't been an
> issue for my customers. Most fs traffic being on the XIP pages. Once
> I get a good automated performance test up we'll probably look into
> something to improve this.
It's relatively easy to solve. Squashfs explicitly pushes the extra
pages into the pagecache (so subsequent readpages find them there and
don't call readpage on squashfs again).
Phillip
prev parent reply other threads:[~2008-08-22 3:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-21 5:45 [PATCH 04/10] AXFS: axfs_inode.c Jared Hulbert
2008-08-21 8:35 ` Carsten Otte
2008-08-21 11:35 ` Arnd Bergmann
2008-08-21 12:17 ` Arnd Bergmann
2008-08-21 15:06 ` Jared Hulbert
2008-08-21 15:12 ` Arnd Bergmann
2008-08-22 2:22 ` Phillip Lougher
2008-08-22 3:23 ` Jared Hulbert
2008-08-22 3:29 ` Phillip Lougher
2008-08-22 10:00 ` Arnd Bergmann
2008-08-22 17:08 ` Phillip Lougher
2008-08-22 17:19 ` Jörn Engel
2008-08-22 18:04 ` Jared Hulbert
2008-08-22 0:21 ` Phillip Lougher
2008-08-22 3:27 ` Jared Hulbert
2008-08-22 3:46 ` Phillip Lougher [this message]
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=48AE36A7.4060000@lougher.demon.co.uk \
--to=phillip@lougher.demon.co.uk \
--cc=Linux-kernel@vger.kernel.org \
--cc=cotte@de.ibm.com \
--cc=jaredeh@gmail.com \
--cc=joern@logfs.org \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=nickpiggin@yahoo.com.au \
--cc=tim.bird@am.sony.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