From: Christoph Hellwig <hch@caldera.de>
To: linux-mm@kvack.org
Subject: [PATCH] updated version of radix-tree pagecache
Date: Sat, 5 Jan 2002 17:12:34 +0100 [thread overview]
Message-ID: <20020105171234.A25383@caldera.de> (raw)
[please Cc velco@fadata.bg and lkml on reply]
I've just uploaded an updated version of Momchil Velikov's patch for a
scalable pagecache using radix trees. The patch can be found at:
ftp://ftp.kernel.org/pub/linux/kernel/people/hch/patches/v2.4/2.4.17/linux-2.4.17-ratpagecache.patch.gz
ftp://ftp.kernel.org/pub/linux/kernel/people/hch/patches/v2.4/2.4.17/linux-2.4.17-ratpagecache.patch.bz2
It contains a number of fixed and improvements by Momchil and me.
The basic advantage over the old version (besides the fixes :)) is that
the radix tree implementation is now independand of struct page /
struct address_space and thus can easily be used in other code.
=== Changelog ===
Momchil Velikov:
- It was possible to return a PG_locked page to the buddy
allocator with a subsequent oops, if the call to rat_insert in
__add_to_page_cache failed. Thus the functions is changed as to
avoid modifying the pages before rat_insert was
successful. Somewhat paranoid, I changed add_page_cache_locked
too.
- shmem_writepage was causing an infinite looping deadlock, when a
couple of processes was yielding for kswapd, _including kswapd
itself_.
- Initialized swapper_space. On some architectures the spinlock is
initilized to 0 on some to 1, who knows maybe there are/will be
others. I have no idea why this didn't break the test on OSDL's
4- and 8-way boxes.
Me:
- moved rat.c from mm/ to lib/.
- new structure: rat_root containing root-node, height and gfp_mask.
- changed rat_* arguments to struct rat_root * and void *.
- change struct page * arguments to void *.
- moved all declarations in rat.h that are not public to rat.c
- replaced page_cache_init() by ratcache_init() in rat.c.
- rat_node slab handling moved to rat.c
- in swap_state.c removed 0/NULL initializers that aren't needed.
- replaced __find_get_page/__find_lock_page with non-prefixed versions.
- added kdoc-style comments to rat.c.
- fixed up whitespaces in function declarations to math Linux style.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
next reply other threads:[~2002-01-05 16:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-05 16:12 Christoph Hellwig [this message]
2002-01-07 10:05 ` [PATCH] updated version of radix-tree pagecache Peter Wächtler
2002-01-07 10:05 ` Peter Wächtler
2002-01-07 10:07 ` Momchil Velikov
2002-01-07 10:07 ` Momchil Velikov
2002-01-07 11:03 ` William Lee Irwin III
2002-01-07 11:03 ` William Lee Irwin III
2002-01-07 12:52 ` Daniel Phillips
2002-01-07 12:52 ` Daniel Phillips
2002-01-07 12:53 ` Daniel Phillips
2002-01-07 12:53 ` Daniel Phillips
2002-01-11 23:21 ` Pavel Machek
2002-01-11 23:21 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2002-01-05 16:09 Christoph Hellwig
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=20020105171234.A25383@caldera.de \
--to=hch@caldera.de \
--cc=linux-mm@kvack.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.