From: Vivek Goyal <vgoyal@redhat.com>
To: Konstantin Khlebnikov <khlebnikov@parallels.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"jaxboe@fusionio.com" <jaxboe@fusionio.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
"jmoyer@redhat.com" <jmoyer@redhat.com>
Subject: Re: [RFC PATCH 0/3] block: Fix fsync slowness with CFQ cgroups
Date: Tue, 28 Jun 2011 09:45:00 -0400 [thread overview]
Message-ID: <20110628134500.GD17552@redhat.com> (raw)
In-Reply-To: <4E09B457.9050800@parallels.com>
On Tue, Jun 28, 2011 at 03:00:39PM +0400, Konstantin Khlebnikov wrote:
> Vivek Goyal wrote:
> >This patch series seems to be working for me. I did testing for ext4 only.
> >This series is based on for-3.1/core branch of Jen's block tree.
> >Konstantin, can you please give it a try and see if it fixes your
> >issue.
>
> It works for me too, for ext3 and ext4, on top 3.0-rc5, after these trivial fixes:
>
> --- a/block/cfq-iosched.c
> +++ b/block/cfq-iosched.c
> @@ -1511,7 +1519,7 @@ static void cfq_add_rq_rb(struct request *rq)
> * if that happens, put the alias on the dispatch list
> */
> while ((__alias = elv_rb_add(&cfqq->sort_list, rq)) != NULL)
> - cfq_dispatch_insert(cfqd->queue, __alias);
> + cfq_dispatch_insert(cfqd->queue, __alias, false);
>
> if (!cfq_cfqq_on_rr(cfqq))
> cfq_add_cfqq_rr(cfqd, cfqq);
> @@ -3797,12 +3797,11 @@ cfq_set_depends_on_task(struct request_queue *q, struct task_struct *tsk)
> */
> rcu_read_lock();
> if (task_blkio_cgroup(current) == task_blkio_cgroup(tsk))
> - return;
> - rcu_read_unlock();
> + goto out_unlock_rcu;
>
> cic = cfq_cic_lookup(cfqd, current->io_context);
> if (!cic)
> - return;
> + goto out_unlock_rcu;
You have done this change because you want to keep cfq_cic_lookup() also
in rcu read side critical section? I am assuming that it works even
without this. Though keeping it under rcu is probably more correct as
cic objects are freed in rcu manner.
Thanks
Vivek
next prev parent reply other threads:[~2011-06-28 13:45 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-27 20:17 [RFC PATCH 0/3] block: Fix fsync slowness with CFQ cgroups Vivek Goyal
2011-06-27 20:17 ` [PATCH 1/3] block: A new interface for specifying IO dependencing among tasks Vivek Goyal
2011-06-27 20:17 ` [PATCH 2/3] ext4: Explicitly specify fsync dependency on journaling thread Vivek Goyal
2011-06-27 20:17 ` [PATCH 3/3] ext3: " Vivek Goyal
2011-06-28 1:18 ` [RFC PATCH 0/3] block: Fix fsync slowness with CFQ cgroups Shaohua Li
2011-06-28 1:40 ` Vivek Goyal
2011-06-28 2:03 ` Shaohua Li
2011-06-28 13:04 ` Vivek Goyal
2011-06-29 1:04 ` Shaohua Li
2011-06-29 1:29 ` Vivek Goyal
2011-06-30 0:29 ` Shaohua Li
2011-06-28 2:47 ` Dave Chinner
2011-06-28 13:35 ` Vivek Goyal
2011-06-28 11:00 ` Konstantin Khlebnikov
2011-06-28 13:45 ` Vivek Goyal [this message]
2011-06-28 14:42 ` Konstantin Khlebnikov
2011-06-28 14:47 ` Vivek Goyal
2011-06-28 21:20 ` Vivek Goyal
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=20110628134500.GD17552@redhat.com \
--to=vgoyal@redhat.com \
--cc=jaxboe@fusionio.com \
--cc=jmoyer@redhat.com \
--cc=khlebnikov@parallels.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@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).