All of lore.kernel.org
 help / color / mirror / Atom feed
From: Waiman Long <waiman.long@hpe.com>
To: Waiman Long <Waiman.Long@hpe.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
	Jan Kara <jack@suse.com>, Jeff Layton <jlayton@poochiereds.net>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Tejun Heo <tj@kernel.org>,
	Christoph Lameter <cl@linux-foundation.org>,
	<linux-fsdevel@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Andi Kleen <andi@firstfloor.org>,
	Dave Chinner <dchinner@redhat.com>,
	Boqun Feng <boqun.feng@gmail.com>,
	Scott J Norton <scott.norton@hpe.com>,
	Douglas Hatch <doug.hatch@hpe.com>
Subject: Re: [RESEND PATCH v7 0/4] vfs: Use per-cpu list for SB's s_inodes list
Date: Tue, 7 Jun 2016 15:29:42 -0400	[thread overview]
Message-ID: <575720A6.4000700@hpe.com> (raw)
In-Reply-To: <1465327445-56484-1-git-send-email-Waiman.Long@hpe.com>

On 06/07/2016 03:24 PM, Waiman Long wrote:
> v6->v7:
>   - Fix the race condition in __pcpu_list_next_cpu() as reported by
>     Jan Kara.
>   - No changes in patches 2-4.
>
> v5->v6:
>   - Remove patch 5 which can increase the kernel testing matrix.
>   - Disable preemption in pcpu_list_add() as it was complained by
>     the 0-day test even though it is not technically necessary.
>   - Add a PERCPU_LIST_WARN_ON() macro to simplify code.
>   - No changes in patches 2-4.
>
> v4->v5:
>   - Fix the UP panic problem reported by 0day test by unifying the SMP
>     and UP code.
>   - Add patch 5 to add a new kernel config parameter to allow disabling
>     per-cpu list for small systems that won't benefit much from this
>     feature.
>
> v3->v4:
>   - Fix some racing conditions in the code.
>   - Add another patch from Jan to replace list_for_each_entry_safe()
>     by list_for_each_entry().
>   - Add lockdep annotation.
>
> v2->v3:
>   - Directly replace list_for_each_entry() and
>     list_for_each_entry_safe() by pcpu_list_iterate() and
>     pcpu_list_iterate_safe() respectively instead. Those 2 functions
>     provide a stateful per-cpu list iteration interface.
>   - Include Jan Kara's patch to clean up the fsnotify_unmount_inodes()
>     function.
>
> v1->v2:
>   - Use separate structures for list head and nodes&  provide a
>     cleaner interface.
>   - Use existing list_for_each_entry() or list_for_each_entry_safe()
>     macros for each of the sb's s_inodes iteration functions instead
>     of using list_for_each_entry_safe() for all of them which may not
>     be safe in some cases.
>   - Use an iterator interface to access all the nodes of a group of
>     per-cpu lists. This approach is cleaner than the previous double-for
>     macro which is kind of hacky. However, it does require more lines
>     of code changes.
>   - Add a preparatory patch 2 to extract out the per-inode codes from
>     the superblock s_inodes list iteration functions to minimize code
>     changes needed in the patch 3.
>
> This patch is a replacement of my previous list batching patch -
> https://lwn.net/Articles/674105/. Compared with the previous patch,
> this one provides better performance and fairness. However, it also
> requires a bit more changes in the VFS layer.
>
> This patchset is a derivative of Andi Kleen's patch on "Initial per
> cpu list for the per sb inode list"
>
> https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.git/commit/?h=hle315/
> combined&id=f1cf9e715a40f44086662ae3b29f123cf059cbf4
>
> Patch 1 introduces the per-cpu list.
>
> Patch 2 cleans up the fsnotify_unmount_inodes() function by making
> the code simpler and more standard.
>
> Patch 3 replaces the use of list_for_each_entry_safe() in
> evict_inodes() and invalidate_inodes() by list_for_each_entry().
>
> Patch 4 modifies the superblock and inode structures to use the per-cpu
> list. The corresponding functions that reference those structures
> are modified.
>
> Jan Kara (2):
>    fsnotify: Simplify inode iteration on umount
>    vfs: Remove unnecessary list_for_each_entry_safe() variants
>
> Waiman Long (2):
>    lib/percpu-list: Per-cpu list with associated per-cpu locks
>    vfs: Use per-cpu list for superblock's inode list
>
>

Hi, I am resending this patch series as I haven't received any feedback 
to see if further change is needed or is good enough to get merged.

Cheers,
Longman

  parent reply	other threads:[~2016-06-07 19:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 19:24 [RESEND PATCH v7 0/4] vfs: Use per-cpu list for SB's s_inodes list Waiman Long
2016-06-07 19:24 ` [RESEND PATCH v7 1/4] lib/percpu-list: Per-cpu list with associated per-cpu locks Waiman Long
2016-06-07 19:24 ` [RESEND PATCH v7 2/4] fsnotify: Simplify inode iteration on umount Waiman Long
2016-06-07 19:24 ` [RESEND PATCH v7 3/4] vfs: Remove unnecessary list_for_each_entry_safe() variants Waiman Long
2016-06-07 19:24 ` [RESEND PATCH v7 4/4] vfs: Use per-cpu list for superblock's inode list Waiman Long
2016-06-07 19:29 ` Waiman Long [this message]
2016-06-07 19:35   ` [RESEND PATCH v7 0/4] vfs: Use per-cpu list for SB's s_inodes list Waiman Long

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=575720A6.4000700@hpe.com \
    --to=waiman.long@hpe.com \
    --cc=andi@firstfloor.org \
    --cc=bfields@fieldses.org \
    --cc=boqun.feng@gmail.com \
    --cc=cl@linux-foundation.org \
    --cc=dchinner@redhat.com \
    --cc=doug.hatch@hpe.com \
    --cc=jack@suse.com \
    --cc=jlayton@poochiereds.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=scott.norton@hpe.com \
    --cc=tj@kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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.