Re: [GIT PULL v2] f2fs updates for v3.10

From: Jaegeuk Kim
Date: Sun May 26 2013 - 23:38:25 EST


Hi,
Thank you for the report.

I'm not able to reproduce this at all.
In my runs, there was no regression.
Can you do that?
Thanks,

2013-05-15 (ì), 12:09 +0300, Anca Emanuel:
> Regresions: http://www.phoronix.com/scan.php?page=article&item=linux_310_f2fs&num=3
>
> The most notable one is PostgreSQL pgbench v8.4.11
> Transactions per second: 3032 in kernel 3.9
> down to 832 in kernel 3.10-rc1
>
> On Wed, May 8, 2013 at 2:10 PM, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx> wrote:
> > Hi Linus,
> >
> > I've rebased one of patches, so could you consider the following pull
> > request?
> > Sorry for the noise.
> >
> > The following changes since commit
> > 47b3bc907328db968bc9b43c41f48f8d1e140750:
> >
> > Merge branch 'x86-urgent-for-linus' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-03-07
> > 15:57:38 -0800)
> >
> > are available in the git repository at:
> >
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
> > tags/f2fs-for-v3.10
> >
> > for you to fetch changes up to 59bbd474abb9dd6a0c1a74df758ec29c7a8b150f:
> >
> > f2fs: cover free_nid management with spin_lock (2013-05-08 19:54:22
> > +0900)
> >
> > ----------------------------------------------------------------
> > f2fs updates for v3.10
> >
> > This patch-set includes the following major enhancement patches.
> > o introduce a new gloabl lock scheme
> > o add tracepoints on several major functions
> > o fix the overall cleaning process focused on victim selection
> > o apply the block plugging to merge IOs as much as possible
> > o enhance management of free nids and its list
> > o enhance the readahead mode for node pages
> > o address several cretical deadlock conditions
> > o reduce lock_page calls
> >
> > The other minor bug fixes and enhancements are as follows.
> > o calculation mistakes: overflow
> > o bio types: READ, READA, and READ_SYNC
> > o fix the recovery flow, data races, and null pointer errors
> >
> > ----------------------------------------------------------------
> > Alexandru Gheorghiu (1):
> > f2fs: use kmemdup
> >
> > Changman Lee (3):
> > f2fs: fix overflow when calculating utilization on 32-bit
> > f2fs: check the level before calling get_nid function
> > f2fs: update f2fs.txt related with discard at mkfs
> >
> > Chris Fries (2):
> > f2fs: continue to mount after failing recovery
> > f2fs: recover when journal contains deleted files
> >
> > Haicheng Li (5):
> > f2fs: fix inconsistent using of NM_WOUT_THRESHOLD
> > f2fs: remove useless #include <linux/proc_fs.h> as we're now using
> > sysfs as debug entry.
> > f2fs: bugfix for alloc_nid_failed()
> > f2fs: code cleanup for scan_nat_page() and build_free_nids()
> > f2fs: optimize scan_nat_page()
> >
> > Jaegeuk Kim (35):
> > f2fs: fix to unlock node page when it was truncated
> > f2fs: read with READ_SYNC when getting dnode page
> > f2fs: introduce readahead mode of node pages
> > f2fs: align f2fs maximum name length to linux based filesystem
> > f2fs: reduce unncessary locking pages during read
> > f2fs: should check the node page was truncated first
> > f2fs: scan next nat page to reuse free nids in there
> > f2fs: fix return value of releasepage for node and data
> > f2fs: fix not to allocate max_nid
> > f2fs: fix to call WRITE_FLUSH at the end of fsync
> > f2fs: fix the recovery flow to handle errors correctly
> > f2fs: do not skip writing file meta during fsync
> > f2fs: remain nat cache entries for further free nid allocation
> > f2fs: fix to give correct parent inode number for roll forward
> > f2fs: do not use duplicate names in a macro
> > f2fs: introduce TOTAL_SECS macro
> > f2fs: remove redundant lock_page calls
> > f2fs: allocate new segment aligned with sections
> > f2fs: change GC bitmaps to apply the section granularity
> > f2fs: check completion of foreground GC
> > f2fs: allocate remained free segments in the LFS mode
> > f2fs: avoid race for summary information
> > f2fs: fix the bitmap consistency of dirty segments
> > f2fs: reduce redundant spin_lock operations
> > f2fs: introduce a new global lock scheme
> > f2fs: write checkpoint before starting FG_GC
> > f2fs: avoid frequent background GC
> > f2fs: give a chance to merge IOs by IO scheduler
> > f2fs: check nid == 0 in add_free_nid
> > f2fs: add a tracepoint on f2fs_new_inode
> > f2fs: enhance alloc_nid and build_free_nids flows
> > f2fs: check truncation of mapping after lock_page
> > f2fs: modify the number of issued pages to merge IOs
> > f2fs: avoid deadlock during evict after f2fs_gc
> > f2fs: cover free_nid management with spin_lock
> >
> > Jason Hrycay (1):
> > f2fs: move f2fs_balance_fs from truncate to punch_hole
> >
> > Masanari Iida (1):
> > f2fs: fix typo in comments
> >
> > Namjae Jeon (17):
> > f2fs: optimize get node page readahead part
> > f2fs: optimize and change return path in lookup_free_nid_list
> > f2fs: avoid extra ++ while returning from get_node_path
> > f2fs: notify when discard is not supported
> > f2fs: reorganize f2fs_setxattr
> > f2fs: fix return values from validate superblock
> > f2fs: avoid BUG_ON from check_nid_range and update return path in
> > do_read_inode
> > f2fs: fix typo mistakes
> > f2fs: make is_multimedia_file code align with its name
> > f2fs: add tracepoints for sync & inode operations
> > f2fs: add tracepoints for truncate operation
> > f2fs: add tracepoint for tracing the page i/o
> > f2fs: add tracepoints for GC threads
> > f2fs: add tracepoints to debug the block allocation
> > f2fs: add tracepoints for write page operations
> > f2fs: add tracepoints to debug checkpoint request
> > f2fs: add REQ_META about metadata requests for submit
> >
> > P J P (1):
> > f2fs: add NULL pointer check
> >
> > Wei Yongjun (1):
> > f2fs: fix error return code in f2fs_fill_super()
> >
> > Zhihui Zhang (1):
> > f2fs: fix the logic of IS_DNODE()
> >
> > Documentation/filesystems/f2fs.txt | 4 +-
> > fs/f2fs/checkpoint.c | 63 ++--
> > fs/f2fs/data.c | 202 ++++++-----
> > fs/f2fs/debug.c | 10 +-
> > fs/f2fs/dir.c | 110 +++---
> > fs/f2fs/f2fs.h | 95 ++++--
> > fs/f2fs/file.c | 116 +++----
> > fs/f2fs/gc.c | 125 ++++---
> > fs/f2fs/gc.h | 12 +-
> > fs/f2fs/inode.c | 68 ++--
> > fs/f2fs/namei.c | 80 +++--
> > fs/f2fs/node.c | 411 ++++++++++++----------
> > fs/f2fs/node.h | 20 +-
> > fs/f2fs/recovery.c | 83 +++--
> > fs/f2fs/segment.c | 137 +++++---
> > fs/f2fs/segment.h | 41 ++-
> > fs/f2fs/super.c | 69 +++-
> > fs/f2fs/xattr.c | 28 +-
> > include/linux/f2fs_fs.h | 17 +-
> > include/trace/events/f2fs.h | 682
> > +++++++++++++++++++++++++++++++++++++
> > 20 files changed, 1679 insertions(+), 694 deletions(-)
> > create mode 100644 include/trace/events/f2fs.h
> >
> >
> > --
> > Jaegeuk Kim
> > Samsung
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Jaegeuk Kim
Samsung

Attachment: signature.asc
Description: This is a digitally signed message part