Messages in this thread | | | From | Ryusuke Konishi <> | Subject | [PATCH 0/7] nilfs2 updates | Date | Thu, 12 Mar 2015 23:38:07 +0900 |
| |
Hi Andrew,
Please queue the following changes for the next merge window:
Ryusuke Konishi (7): nilfs2: do not use async write flag for segment summary buffers nilfs2: use set_mask_bits() for operations on buffer state bitmap nilfs2: use bgl_lock_ptr() nilfs2: unify type of key arguments in bmap interface nilfs2: add bmap function to seek a valid key nilfs2: add helper to find existent block on metadata file nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl
* Brief summary
> nilfs2: do not use async write flag for segment summary buffers > nilfs2: use set_mask_bits() for operations on buffer state bitmap
These reduce the number of atomic bit operations against b_state bitmap by utilizing set_mask_bits() common helper, or by removing unnecessary bit operations.
> nilfs2: use bgl_lock_ptr()
This is a cleanup patch, which makes use of bgl_lock_ptr() common helper for simplicity.
> nilfs2: unify type of key arguments in bmap interface > nilfs2: add bmap function to seek a valid key > nilfs2: add helper to find existent block on metadata file > nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl
These improve execution time of the ioctl for checkpoint listing, which gets worse as the file system ages.
Example: [The current implementation] $ time lscp CNO DATE TIME MODE FLG BLKCNT ICNT 5769303 2015-02-22 19:31:33 cp - 108 1 5769304 2015-02-22 19:38:54 cp - 108 1
real 0m0.182s user 0m0.003s sys 0m0.180s
[With the patchset] $ time lscp CNO DATE TIME MODE FLG BLKCNT ICNT 5769303 2015-02-22 19:31:33 cp - 108 1 5769304 2015-02-22 19:38:54 cp - 108 1
real 0m0.003s user 0m0.001s sys 0m0.002s
Thanks, Ryusuke Konishi --
fs/nilfs2/alloc.c | 5 ++-- fs/nilfs2/bmap.c | 48 +++++++++++++++++++++++++++++--------- fs/nilfs2/bmap.h | 13 +++++++---- fs/nilfs2/btree.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/nilfs2/cpfile.c | 58 +++++++++++++++++++++++++++++++++++++++++----- fs/nilfs2/direct.c | 17 ++++++++++++++ fs/nilfs2/inode.c | 6 ++--- fs/nilfs2/mdt.c | 54 +++++++++++++++++++++++++++++++++++++++++++ fs/nilfs2/mdt.h | 10 ++++++-- fs/nilfs2/page.c | 24 ++++++++----------- fs/nilfs2/segment.c | 17 +++++++------- 11 files changed, 266 insertions(+), 52 deletions(-)
| |