[PATCH 00/10 v3] ext4: extent status tree (step2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Here is my third try to implement the second step of extent status tree.
The first step has been applied into upstream kernel.  In the second
step, extent status tree will track all extent status, and it will be as
a extent cache for extent tree.  Thus, we can first try to lookup a
block mapping in this tree before accessing extent tree.  Meanwhile we
add nr_cached_objects() and free_cached_objects() callback functions to
try to reclaim extents from the extent status tree under a heavy memory
pressure because fragmented extent tree causes that extent status tree
costs too much memory.

This patch series is also sent to linux-fsdevel mailing list because
we want to change prune_super() function so that we could avoid to
reclaim too many cached objects.

changelog:
v3 <- v2:
 - use prune_super() to reclaim extents from extent status tree
 - stashed es_status into es_pblk
 - remove single extent cache
 - rebase against 3.8-rc4

v2 <- v1:
 - drop patches that try to improve unwritten extent conversion
 - remove EXT4_MAP_FROM_CLUSTER flag
 - add tracepoint for ext4_es_lookup_extent()
 - drop a patch, which tries to fix a warning when bigalloc and delalloc are
   enabled
 - add a shrinker to reclaim memory from extent status tree
 - rebase against 3.8-rc2

v2: http://lwn.net/Articles/532446/
v1: http://lwn.net/Articles/531065/

Any comments or feedbacks are welcome.

Regards,
						- Zheng

Theodore Ts'o (1):
  fs: allow for fs-specific objects to be pruned as part of pruning
    inodes

Zheng Liu (9):
  ext4: refine extent status tree
  ext4: remove EXT4_MAP_FROM_CLUSTER flag
  ext4: add physical block and status member into extent status tree
  ext4: adjust interfaces of extent status tree
  ext4: track all extent status in extent status tree
  ext4: lookup block mapping in extent status tree
  ext4: remove single extent cache
  ext4: adjust some functions for reclaiming extents from extent status
    tree
  ext4: reclaim extents from extent status tree

 fs/ext4/ext4.h              |  33 +--
 fs/ext4/ext4_extents.h      |   6 -
 fs/ext4/extents.c           | 256 ++++----------------
 fs/ext4/extents_status.c    | 554 ++++++++++++++++++++++++++++++++------------
 fs/ext4/extents_status.h    |  50 +++-
 fs/ext4/file.c              |  14 +-
 fs/ext4/inode.c             | 138 ++++++++---
 fs/ext4/move_extent.c       |   3 -
 fs/ext4/super.c             |  20 +-
 fs/super.c                  |  22 +-
 include/trace/events/ext4.h | 158 ++++++++++---
 11 files changed, 783 insertions(+), 471 deletions(-)

-- 
1.7.12.rc2.18.g61b472e

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux