Re: [PATCH 00/19] quota: RFC SMP improvements for generic quota V3

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

 



On Thu, 11 Nov 2010 15:14:19 +0300, Dmitry Monakhov <dmonakhov@xxxxxxxxxx> wrote:
Ping. Jan can you please take a look at the series.
>  This patch set is my attempt to make quota code more scalable.
>  Main goal of this patch-set is to split global locking to per-sb basis.
>  Actually it consists of several parts
>  * Fixes : trivial fixes which i hope will be accepted w/o any complain
>  * Splitup global locks: Imho this part clean and simple. I hope it is
>    also a sane candidate for for_testing branch.
>  * More scalability for single sb : Some of this patches was already
>    submitted previously, some wasn't. This part is just my first vision
>    of the way we can move. This way result in real speedup, but i'm not
>    shure about design solutions, please do not punch me too strong
>    if you dont like that direction.
> 
>  This patch-set survived after some stress testing
>   * parallel quota{on,off}
>   * fssress
>   * triggering ENOSPC
> 
> More info here: download.openvz.org/~dmonakhov/quota.html
> 
> Changes from V2
>    * Move getfmt call to dquot  (suggested by hch@)
>    * Use global hash with per backet lock (suggested by viro@)
>    * Protect dqget with SRCU to prevent race on quota_info ptr
>    * Add dquot_init optimization
>    * Remove data_lock for ocfs2 where possible.
>    * I've remove dq_count optimization patch because it was buggy,
>      and in fact it should belongs to another patch-set.
>    * Bug fixes
>    ** Fix deadlock on dquot transfer due to previous ENOSPC
> 
> Changes from V1
>    * random fixes according to Jan's comments
>      + fix spelling
>      + fix deadlock on dquot_transfer, and lock_dep issues
>      - list_lock patches split is still the same as before.
>    *  move quota data from sb to dedicated pointer.
>    *  Basic improvements fore per-sb scalability
> 
> patch against 2.6.36-rc5, linux-fs-2.6.git for_testing branch
> <Out of tree patches from other developers>
>       kernel: add bl_list
> <Cleanups and Fixes>
>       quota: protect getfmt call with dqonoff_mutex lock
>       quota: Wrap common expression to  helper function
> <Split-up global locks>
>       quota: protect dqget() from parallels quotaoff via SRCU
>       quota: mode quota internals from sb to quota_info
>       quota: Remove state_lock
>       quota: add quota format lock
>       quota: make dquot lists per-sb
>       quota: optimize quota_initialize
>       quota: user per-backet hlist lock for dquot_hash
>       quota: remove global dq_list_lock
> <More scalability for single sb>
>       quota: rename dq_lock
>       quota: make per-sb dq_data_lock
>       quota: protect dquot mem info with object's lock
>       quota: drop dq_data_lock where possible
>       quota: relax dq_data_lock dq_lock locking consistency
>       quota: Some stylistic cleanup for dquot interface
>       fs: add unlocked helpers
>       quota: protect i_dquot with i_lock instead of dqptr_sem
> 
> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
> ---
>  Makefile |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 471c49f..4e7602b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,7 +1,7 @@
>  VERSION = 2
>  PATCHLEVEL = 6
>  SUBLEVEL = 36
> -EXTRAVERSION = -rc6
> +EXTRAVERSION = -rc6-quota
>  NAME = Sheep on Meth
>  
>  # *DOCUMENTATION*
> -- 
> 1.6.5.2
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux