From: Dmitry Monakhov <dmonakhov@openvz.org>
To: linux-fsdevel@vger.kernel.org
Cc: jack@suse.cz, hch@infradead.org, Dmitry Monakhov <dmonakhov@openvz.org>
Subject: [PATCH 00/19] quota: RFC SMP improvements for generic quota V2
Date: Fri, 22 Oct 2010 21:34:45 +0400 [thread overview]
Message-ID: <1287768904-27810-1-git-send-email-dmonakhov@openvz.org> (raw)
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
Performance: I've prepared some basic benchmarks results
http://download.openvz.org/~dmonakhov/docs/quota/quota-v2.html
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
<Fixes>
quota: protect getfmt call with dqonoff_mutex lock
<Splitup global locks>
quota: Wrap common expression to helper function
quota: mode quota internals from sb to quota_info
quota: Convert dq_state_lock to per-sb dq_state_lock
quota: add quota format lock
quota: make dquot lists per-sb
quota: make per-sb hash array
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: protect dqget() from parallels quotaoff via RCU
quota: remove dq_state_lock
fs: add unlocked helpers
quota: Some stylistic cleanup for dquot interface
quota: remove dqptr_sem
quota: redesign dquot reference counting
next reply other threads:[~2010-10-22 17:35 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-22 17:34 Dmitry Monakhov [this message]
2010-10-22 17:34 ` [PATCH 01/19] quota: protect getfmt call with dqonoff_mutex lock Dmitry Monakhov
2010-10-28 14:27 ` Christoph Hellwig
2010-10-22 17:34 ` [PATCH 02/19] quota: Wrap common expression to helper function Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 03/19] quota: mode quota internals from sb to quota_info Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 04/19] quota: Convert dq_state_lock to per-sb dq_state_lock Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 05/19] quota: add quota format lock Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 06/19] quota: make dquot lists per-sb Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 07/19] quota: make per-sb hash array Dmitry Monakhov
2010-10-27 19:31 ` Al Viro
2010-10-28 10:58 ` Dmitry
2010-10-22 17:34 ` [PATCH 08/19] quota: remove global dq_list_lock Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 09/19] quota: rename dq_lock Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 10/19] quota: make per-sb dq_data_lock Dmitry Monakhov
2010-10-26 17:38 ` Dmitry
2010-10-22 17:34 ` [PATCH 11/19] quota: protect dquot mem info with object's lock Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 12/19] quota: drop dq_data_lock where possible Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 13/19] quota: relax dq_data_lock dq_lock locking consistency Dmitry Monakhov
2010-10-22 17:34 ` [PATCH 14/19] quota: protect dqget() from parallels quotaoff via RCU Dmitry Monakhov
2010-10-22 17:35 ` [PATCH 15/19] quota: remove dq_state_lock Dmitry Monakhov
2010-10-22 17:35 ` [PATCH 16/19] fs: add unlocked helpers Dmitry Monakhov
2010-10-22 17:35 ` [PATCH 17/19] quota: Some stylistic cleanup for dquot interface Dmitry Monakhov
2010-10-22 17:35 ` [PATCH 18/19] quota: remove dqptr_sem Dmitry Monakhov
2010-10-22 17:35 ` [PATCH 19/19] quota: redesign dquot reference counting Dmitry Monakhov
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=1287768904-27810-1-git-send-email-dmonakhov@openvz.org \
--to=dmonakhov@openvz.org \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
/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 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).