linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* Re: [f2fs-dev] [GIT PULL v2] f2fs updates for v3.10
       [not found]   ` <CAJL_dMtUfX-_3-4xb51HWPk54NyMU_frw84XdJc3OZWv52Dwcg@mail.gmail.com>
@ 2013-05-27  3:37     ` Jaegeuk Kim
  0 siblings, 0 replies; 3+ messages in thread
From: Jaegeuk Kim @ 2013-05-27  3:37 UTC (permalink / raw)
  To: Anca Emanuel
  Cc: Linux FS DEV, Mailing List, Linux Kernel, Mailing List,
	Linux F2FS DEV, Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 7946 bytes --]

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@samsung.com> 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@vger.kernel.org
> 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 #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 421 bytes --]

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may

[-- Attachment #3: Type: text/plain, Size: 179 bytes --]

_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [GIT PULL] f2fs updates for v3.11
       [not found] <1367989951.16581.50.camel@kjgkr>
       [not found] ` <1368011413.16581.67.camel@kjgkr>
@ 2013-07-02  0:47 ` Jaegeuk Kim
  1 sibling, 0 replies; 3+ messages in thread
From: Jaegeuk Kim @ 2013-07-02  0:47 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

[-- Attachment #1: Type: text/plain, Size: 6011 bytes --]

Hi Linus,

Here is the pull request on f2fs updates for v3.11.
Most of patches in this patch-set have been proposed to fix the
roll-forward mechanism significantly.

One of major fixes is related to little and big endian conversion, and
its errorneous symptom on powerpc was initially reported by Oded Gabbay.

Another one is that it has been revealed the pgbench regression reported
by phoronix was caused by one of fsync bug fixes in 3.10-rc1. In order
to restore the performance, one enhancement patch was introduced in this
patch-set, which is f2fs: recover wrong pino after checkpoint during
fsync.

One of new features is *xattr security labels* which is essential to the
SEandroid system.

Please consider pulling the following tag.
Thank you,

The following changes since commit
e4aa937ec75df0eea0bee03bffa3303ad36c986b:

  Linux 3.10-rc3 (2013-05-26 16:00:47 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/for-f2fs-3.11

for you to fetch changes up to a1dd3c13ce65b726fddfe72b9d2f1009db983ce6:

  f2fs: fix to recover i_size from roll-forward (2013-07-02 08:48:16
+0900)

----------------------------------------------------------------
This patch-set includes the following major enhancement patches.
 o remount_fs callback function
 o restore parent inode number to enhance the fsync performance
 o xattr security labels
 o reduce the number of redundant lock/unlock data pages
 o avoid frequent write_inode calls

The other minor bug fixes are as follows.
 o endian conversion bugs
 o various bugs in the roll-forward recovery routine

----------------------------------------------------------------
Dan Carpenter (1):
      f2fs: dereferencing an ERR_PTR

Gu Zheng (3):
      f2fs: set sb->s_fs_info before calling parse_options()
      f2fs: code cleanup and simplify in func {find/add}_gc_inode
      f2fs: remove the unused argument "sbi" of func
destroy_fsync_dnodes()

Haicheng Li (4):
      f2fs: remove unecessary variable and code
      f2fs: remove unnecessary parameter "offset" from __add_sum_entry()
      f2fs: make locate_dirty_segment() as static
      f2fs: optimize do_write_data_page()

Jaegeuk Kim (35):
      f2fs: fix inconsistency of block count during recovery
      f2fs: fix the inconsistent state of data pages
      f2fs: remove redundant assignment
      f2fs: fix por_doing variable coverage
      f2fs: fix BUG_ON during f2fs_evict_inode(dir)
      f2fs: remove unnecessary por_doing check
      f2fs: skip get_node_page if locked node page is passed
      f2fs: change get_new_data_page to pass a locked node page
      f2fs: update inode page after creation
      f2fs: add debug msgs in the recovery routine
      f2fs: remove unnecessary kmap/kunmap operations
      f2fs: fix to unlock page before exit
      f2fs: don't do checkpoint if error is occurred
      f2fs: avoid RECLAIM_FS-ON-W: deadlock
      f2fs: add f2fs_readonly()
      f2fs: fix wrong condition check
      f2fs: reuse the locked dnode page and its inode
      f2fs: fix to handle do_recover_data errors
      f2fs: should not make_bad_inode on f2fs_link failure
      f2fs: use ihold
      f2fs: align data types between on-disk and in-memory block
addresses
      f2fs: iput only if whole data blocks are flushed
      f2fs: fix dentry recovery routine
      f2fs: fix incorrect iputs during the dentry recovery
      f2fs: cover cp_file information with ilock
      f2fs: fix iget/iput of dir during recovery
      f2fs: support xattr security labels
      f2fs: fix i_blocks translation on various types of files
      f2fs: sync dir->i_size with its block allocation
      f2fs: avoid freqeunt write_inode calls
      f2fs: recover wrong pino after checkpoint during fsync
      f2fs: fix crc endian conversion
      f2fs: fix an endian conversion bug detected by sparse
      f2fs: remove reusing any prefree segments
      f2fs: fix to recover i_size from roll-forward

Jason Hrycay (1):
      f2fs: handle errors from get_node_page calls

Namjae Jeon (10):
      f2fs: reorganize f2fs_vm_page_mkwrite
      f2fs: push some variables to debug part
      f2fs: remove unneeded initializations in f2fs_parent_dir
      f2fs: optimize several routines in node.h
      f2fs: return proper error from start_gc_thread
      f2fs: reorganise the function get_victim_by_default
      f2fs: use the F2FS specific flags in f2fs_ioctl()
      f2fs: optimise the truncate_data_blocks_range() range
      f2fs: add remount_fs callback support
      f2fs: optimize the init_dirty_segmap function

Peter Zijlstra (1):
      f2fs, lockdep: annotate mutex_lock_all()

majianpeng (1):
      f2fs: use list_for_each_entry rather than list_for_each_entry_safe

 Documentation/filesystems/f2fs.txt |   9 +-
 fs/f2fs/Kconfig                    |  12 ++
 fs/f2fs/acl.c                      |   2 +-
 fs/f2fs/checkpoint.c               |  99 +++++++++++----
 fs/f2fs/data.c                     |  68 +++++++---
 fs/f2fs/debug.c                    |   4 +-
 fs/f2fs/dir.c                      | 109 +++++++++-------
 fs/f2fs/f2fs.h                     |  66 +++++++---
 fs/f2fs/file.c                     |  58 +++++++--
 fs/f2fs/gc.c                       |  42 +++---
 fs/f2fs/inode.c                    |  13 +-
 fs/f2fs/namei.c                    |  17 +--
 fs/f2fs/node.c                     |  34 ++---
 fs/f2fs/node.h                     |  68 ++++------
 fs/f2fs/recovery.c                 | 150 ++++++++++++++--------
 fs/f2fs/segment.c                  | 101 ++++-----------
 fs/f2fs/super.c                    | 253
++++++++++++++++++++++++-------------
 fs/f2fs/xattr.c                    |  68 +++++++++-
 fs/f2fs/xattr.h                    |  24 ++--
 include/linux/f2fs_fs.h            |   4 +-
 20 files changed, 750 insertions(+), 451 deletions(-)

-- 
Jaegeuk Kim
Samsung

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [GIT PULL] f2fs updates for v3.11
@ 2013-07-02  0:51 Jaegeuk Kim
  0 siblings, 0 replies; 3+ messages in thread
From: Jaegeuk Kim @ 2013-07-02  0:51 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

[-- Attachment #1: Type: text/plain, Size: 6011 bytes --]

Hi Linus,

Here is the pull request on f2fs updates for v3.11.
Most of patches in this patch-set have been proposed to fix the
roll-forward mechanism significantly.

One of major fixes is related to little and big endian conversion, and
its errorneous symptom on powerpc was initially reported by Oded Gabbay.

Another one is that it has been revealed the pgbench regression reported
by phoronix was caused by one of fsync bug fixes in 3.10-rc1. In order
to restore the performance, one enhancement patch was introduced in this
patch-set, which is f2fs: recover wrong pino after checkpoint during
fsync.

One of new features is *xattr security labels* which is essential to the
SEandroid system.

Please consider pulling the following tag.
Thank you,

The following changes since commit
e4aa937ec75df0eea0bee03bffa3303ad36c986b:

  Linux 3.10-rc3 (2013-05-26 16:00:47 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/for-f2fs-3.11

for you to fetch changes up to a1dd3c13ce65b726fddfe72b9d2f1009db983ce6:

  f2fs: fix to recover i_size from roll-forward (2013-07-02 08:48:16
+0900)

----------------------------------------------------------------
This patch-set includes the following major enhancement patches.
 o remount_fs callback function
 o restore parent inode number to enhance the fsync performance
 o xattr security labels
 o reduce the number of redundant lock/unlock data pages
 o avoid frequent write_inode calls

The other minor bug fixes are as follows.
 o endian conversion bugs
 o various bugs in the roll-forward recovery routine

----------------------------------------------------------------
Dan Carpenter (1):
      f2fs: dereferencing an ERR_PTR

Gu Zheng (3):
      f2fs: set sb->s_fs_info before calling parse_options()
      f2fs: code cleanup and simplify in func {find/add}_gc_inode
      f2fs: remove the unused argument "sbi" of func
destroy_fsync_dnodes()

Haicheng Li (4):
      f2fs: remove unecessary variable and code
      f2fs: remove unnecessary parameter "offset" from __add_sum_entry()
      f2fs: make locate_dirty_segment() as static
      f2fs: optimize do_write_data_page()

Jaegeuk Kim (35):
      f2fs: fix inconsistency of block count during recovery
      f2fs: fix the inconsistent state of data pages
      f2fs: remove redundant assignment
      f2fs: fix por_doing variable coverage
      f2fs: fix BUG_ON during f2fs_evict_inode(dir)
      f2fs: remove unnecessary por_doing check
      f2fs: skip get_node_page if locked node page is passed
      f2fs: change get_new_data_page to pass a locked node page
      f2fs: update inode page after creation
      f2fs: add debug msgs in the recovery routine
      f2fs: remove unnecessary kmap/kunmap operations
      f2fs: fix to unlock page before exit
      f2fs: don't do checkpoint if error is occurred
      f2fs: avoid RECLAIM_FS-ON-W: deadlock
      f2fs: add f2fs_readonly()
      f2fs: fix wrong condition check
      f2fs: reuse the locked dnode page and its inode
      f2fs: fix to handle do_recover_data errors
      f2fs: should not make_bad_inode on f2fs_link failure
      f2fs: use ihold
      f2fs: align data types between on-disk and in-memory block
addresses
      f2fs: iput only if whole data blocks are flushed
      f2fs: fix dentry recovery routine
      f2fs: fix incorrect iputs during the dentry recovery
      f2fs: cover cp_file information with ilock
      f2fs: fix iget/iput of dir during recovery
      f2fs: support xattr security labels
      f2fs: fix i_blocks translation on various types of files
      f2fs: sync dir->i_size with its block allocation
      f2fs: avoid freqeunt write_inode calls
      f2fs: recover wrong pino after checkpoint during fsync
      f2fs: fix crc endian conversion
      f2fs: fix an endian conversion bug detected by sparse
      f2fs: remove reusing any prefree segments
      f2fs: fix to recover i_size from roll-forward

Jason Hrycay (1):
      f2fs: handle errors from get_node_page calls

Namjae Jeon (10):
      f2fs: reorganize f2fs_vm_page_mkwrite
      f2fs: push some variables to debug part
      f2fs: remove unneeded initializations in f2fs_parent_dir
      f2fs: optimize several routines in node.h
      f2fs: return proper error from start_gc_thread
      f2fs: reorganise the function get_victim_by_default
      f2fs: use the F2FS specific flags in f2fs_ioctl()
      f2fs: optimise the truncate_data_blocks_range() range
      f2fs: add remount_fs callback support
      f2fs: optimize the init_dirty_segmap function

Peter Zijlstra (1):
      f2fs, lockdep: annotate mutex_lock_all()

majianpeng (1):
      f2fs: use list_for_each_entry rather than list_for_each_entry_safe

 Documentation/filesystems/f2fs.txt |   9 +-
 fs/f2fs/Kconfig                    |  12 ++
 fs/f2fs/acl.c                      |   2 +-
 fs/f2fs/checkpoint.c               |  99 +++++++++++----
 fs/f2fs/data.c                     |  68 +++++++---
 fs/f2fs/debug.c                    |   4 +-
 fs/f2fs/dir.c                      | 109 +++++++++-------
 fs/f2fs/f2fs.h                     |  66 +++++++---
 fs/f2fs/file.c                     |  58 +++++++--
 fs/f2fs/gc.c                       |  42 +++---
 fs/f2fs/inode.c                    |  13 +-
 fs/f2fs/namei.c                    |  17 +--
 fs/f2fs/node.c                     |  34 ++---
 fs/f2fs/node.h                     |  68 ++++------
 fs/f2fs/recovery.c                 | 150 ++++++++++++++--------
 fs/f2fs/segment.c                  | 101 ++++-----------
 fs/f2fs/super.c                    | 253
++++++++++++++++++++++++-------------
 fs/f2fs/xattr.c                    |  68 +++++++++-
 fs/f2fs/xattr.h                    |  24 ++--
 include/linux/f2fs_fs.h            |   4 +-
 20 files changed, 750 insertions(+), 451 deletions(-)

-- 
Jaegeuk Kim
Samsung

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-07-02  0:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1367989951.16581.50.camel@kjgkr>
     [not found] ` <1368011413.16581.67.camel@kjgkr>
     [not found]   ` <CAJL_dMtUfX-_3-4xb51HWPk54NyMU_frw84XdJc3OZWv52Dwcg@mail.gmail.com>
2013-05-27  3:37     ` [f2fs-dev] [GIT PULL v2] f2fs updates for v3.10 Jaegeuk Kim
2013-07-02  0:47 ` [GIT PULL] f2fs updates for v3.11 Jaegeuk Kim
2013-07-02  0:51 Jaegeuk Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).