From: Vivek Goyal <vgoyal@redhat.com>
To: Divyesh Shah <dpshah@google.com>
Cc: nauman@google.com, lizf@cn.fujitsu.com, mikew@google.com,
fchecconi@gmail.com, paolo.valente@unimore.it,
jens.axboe@oracle.com, ryov@valinux.co.jp,
fernando@intellilink.co.jp, s-uchida@ap.jp.nec.com,
taka@valinux.co.jp, guijianfeng@cn.fujitsu.com,
arozansk@redhat.com, jmoyer@redhat.com, oz-kernel@redhat.com,
dhaval@linux.vnet.ibm.com, balbir@linux.vnet.ibm.com,
linux-kernel@vger.kernel.org,
containers@lists.linux-foundation.org, akpm@linux-foundation.org,
menage@google.com, peterz@infradead.org
Subject: Re: [PATCH 02/10] Common flat fair queuing code in elevaotor layer
Date: Thu, 2 Apr 2009 09:52:02 -0400 [thread overview]
Message-ID: <20090402135202.GB12851@redhat.com> (raw)
In-Reply-To: <af41c7c40904012106h41d3cb50i2eeab2a02277a4c9@mail.gmail.com>
On Wed, Apr 01, 2009 at 09:06:40PM -0700, Divyesh Shah wrote:
> On Wed, Mar 11, 2009 at 6:56 PM, Vivek Goyal <vgoyal@redhat.com> wrote:
> > +/*
> > + * elv_exit_fq_data is called before we call elevator_exit_fn. Before
> > + * we ask elevator to cleanup its queues, we do the cleanup here so
> > + * that all the group and idle tree references to ioq are dropped. Later
> > + * during elevator cleanup, ioc reference will be dropped which will lead
> > + * to removal of ioscheduler queue as well as associated ioq object.
> > + */
> > +void elv_exit_fq_data(struct elevator_queue *e)
> > +{
> > + struct elv_fq_data *efqd = &e->efqd;
> > + struct request_queue *q = efqd->queue;
> > +
> > + if (!elv_iosched_fair_queuing_enabled(e))
> > + return;
> > +
> > + elv_shutdown_timer_wq(e);
> > +
> > + spin_lock_irq(q->queue_lock);
> > + /* This should drop all the idle tree references of ioq */
> > + elv_free_idle_ioq_list(e);
> > + spin_unlock_irq(q->queue_lock);
> > +
> > + elv_shutdown_timer_wq(e);
> > +
> > + BUG_ON(timer_pending(&efqd->idle_slice_timer));
> > + io_free_root_group(e);
> > +}
> >
>
> Hi Vivek,
> When cleaning up the elv_fq_data and ioqs for the iogs
> associated with a device on elv_exit(), I don't see any iogs except
> the root group being freed. In io_disconnect_groups() you remove the
> ioqs from each of the iog and move them to the root iog and then
> delete the root iog. Am I missing something here or are there leftover
> iogs at elv_exit?
Hi Divyesh,
io_groups are linked in two lists. One list is maintained by io_cgroup
to keep track of how many io_groups are there associated with this
cgroup and other list is maintained in elv_fq_data to keep track of
how many io_groups are actually doing IO to this device.
Upon elevator exit, we remove the io_groups (io_disconnect_groups())from the
list maintained by elv_fq_data but we don't free them up. Freeing up is
finally done when cgroup is being deleted (iocg_destroy()).
Thanks
Vivek
next prev parent reply other threads:[~2009-04-02 13:55 UTC|newest]
Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-12 1:56 [RFC] IO Controller Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Vivek Goyal
2009-03-19 6:27 ` Gui Jianfeng
2009-03-27 8:30 ` [PATCH] IO Controller: Don't store the pid in single queue circumstances Gui Jianfeng
2009-03-27 13:52 ` Vivek Goyal
[not found] ` <49CC8EBA.9040804-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-27 13:52 ` Vivek Goyal
[not found] ` <1236823015-4183-3-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-19 6:27 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Gui Jianfeng
2009-03-27 8:30 ` [PATCH] IO Controller: Don't store the pid in single queue circumstances Gui Jianfeng
2009-04-02 4:06 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Divyesh Shah
2009-04-02 4:06 ` Divyesh Shah
[not found] ` <af41c7c40904012106h41d3cb50i2eeab2a02277a4c9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-02 13:52 ` Vivek Goyal
2009-04-02 13:52 ` Vivek Goyal [this message]
2009-03-12 1:56 ` [PATCH 03/10] Modify cfq to make use of flat elevator fair queuing Vivek Goyal
2009-03-12 1:56 ` [PATCH 07/10] Prepare elevator layer for single queue schedulers Vivek Goyal
2009-03-12 3:27 ` [RFC] IO Controller Takuya Yoshikawa
[not found] ` <49B8810B.7030603-gVGce1chcLdL9jVzuh4AOg@public.gmane.org>
2009-03-12 6:40 ` anqin
2009-03-12 13:43 ` Vivek Goyal
2009-03-12 13:43 ` Vivek Goyal
2009-03-12 6:40 ` anqin
2009-03-12 6:55 ` Li Zefan
[not found] ` <49B8B1FB.1040506-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-12 7:11 ` anqin
2009-03-12 7:11 ` anqin
[not found] ` <d95d44a20903120011m4a7281enf17b31b9aaf7c937-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-12 14:57 ` Vivek Goyal
2009-03-12 14:57 ` Vivek Goyal
[not found] ` <d95d44a20903112340s3c77807dt465e68901747ad89-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-12 6:55 ` Li Zefan
2009-03-12 13:46 ` Vivek Goyal
2009-03-12 13:46 ` Vivek Goyal
[not found] ` <1236823015-4183-1-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-12 1:56 ` [PATCH 01/10] Documentation Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 10:00 ` Dhaval Giani
2009-03-12 14:04 ` Vivek Goyal
[not found] ` <20090312140450.GE10919-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-12 14:48 ` Fabio Checconi
2009-03-12 14:48 ` Fabio Checconi
[not found] ` <20090312144842.GS12361-f9ZlEuEWxVeACYmtYXMKmw@public.gmane.org>
2009-03-12 15:03 ` Vivek Goyal
2009-03-12 15:03 ` Vivek Goyal
2009-03-18 7:23 ` Gui Jianfeng
2009-03-18 7:23 ` Gui Jianfeng
[not found] ` <49C0A171.8060009-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-18 21:55 ` Vivek Goyal
2009-03-18 21:55 ` Vivek Goyal
[not found] ` <20090318215529.GA3338-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-19 3:38 ` Gui Jianfeng
2009-03-24 5:32 ` Nauman Rafique
2009-03-19 3:38 ` Gui Jianfeng
2009-03-24 5:32 ` Nauman Rafique
[not found] ` <e98e18940903232232i432f62c5r9dfd74268e1b2684-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-24 12:58 ` Vivek Goyal
2009-03-24 12:58 ` Vivek Goyal
[not found] ` <20090324125842.GA21389-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-24 18:14 ` Nauman Rafique
2009-03-24 18:14 ` Nauman Rafique
[not found] ` <e98e18940903241114u1e03ae7dhf654d7d8d0fc0302-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-24 18:29 ` Vivek Goyal
2009-03-24 18:29 ` Vivek Goyal
[not found] ` <20090324182906.GF21389-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-24 18:41 ` Fabio Checconi
2009-03-24 18:41 ` Fabio Checconi
[not found] ` <20090324184101.GO18554-f9ZlEuEWxVeACYmtYXMKmw@public.gmane.org>
2009-03-24 18:35 ` Vivek Goyal
2009-03-24 18:35 ` Vivek Goyal
2009-03-24 18:49 ` Nauman Rafique
[not found] ` <20090324183532.GG21389-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-24 18:49 ` Nauman Rafique
2009-03-24 19:04 ` Fabio Checconi
2009-03-24 19:04 ` Fabio Checconi
[not found] ` <20090312100054.GA8024-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2009-03-12 14:04 ` Vivek Goyal
[not found] ` <1236823015-4183-2-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-12 7:11 ` Andrew Morton
2009-03-12 7:11 ` Andrew Morton
2009-03-12 10:07 ` Ryo Tsuruta
2009-03-12 18:01 ` Vivek Goyal
2009-03-16 8:40 ` Ryo Tsuruta
2009-03-16 13:39 ` Vivek Goyal
[not found] ` <20090316.174043.193698189.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-03-16 13:39 ` Vivek Goyal
[not found] ` <20090312180126.GI10919-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-16 8:40 ` Ryo Tsuruta
2009-04-05 15:15 ` Andrea Righi
2009-04-05 15:15 ` Andrea Righi
2009-04-06 6:50 ` Nauman Rafique
[not found] ` <49D8CB17.7040501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-04-06 6:50 ` Nauman Rafique
2009-04-07 6:40 ` Vivek Goyal
2009-04-07 6:40 ` Vivek Goyal
2009-04-08 20:37 ` Andrea Righi
2009-04-16 18:37 ` Vivek Goyal
2009-04-16 18:37 ` Vivek Goyal
[not found] ` <20090416183753.GE8896-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-17 5:35 ` Dhaval Giani
2009-04-17 9:37 ` Andrea Righi
2009-04-17 5:35 ` Dhaval Giani
[not found] ` <20090417053517.GC26437-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2009-04-17 13:49 ` IO Controller discussion (Was: Re: [PATCH 01/10] Documentation) Vivek Goyal
2009-04-17 13:49 ` Vivek Goyal
2009-04-17 9:37 ` [PATCH 01/10] Documentation Andrea Righi
2009-04-17 14:13 ` IO controller discussion (Was: Re: [PATCH 01/10] Documentation) Vivek Goyal
2009-04-17 14:13 ` Vivek Goyal
2009-04-17 18:09 ` Nauman Rafique
2009-04-18 8:13 ` Andrea Righi
2009-04-19 13:08 ` Vivek Goyal
[not found] ` <e98e18940904171109r17ccb054kb7879f8d02ac26b5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-18 8:13 ` Andrea Righi
2009-04-19 12:59 ` Vivek Goyal
2009-04-19 12:59 ` Vivek Goyal
2009-04-19 13:08 ` Vivek Goyal
2009-04-17 22:38 ` Andrea Righi
2009-04-19 13:21 ` Vivek Goyal
2009-04-19 13:21 ` Vivek Goyal
2009-04-18 13:19 ` Balbir Singh
[not found] ` <661de9470904180619k34e7998ch755a2ad3bed9ce5e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-19 13:45 ` Vivek Goyal
2009-04-19 13:45 ` Vivek Goyal
2009-04-19 15:53 ` Andrea Righi
2009-04-21 1:16 ` KAMEZAWA Hiroyuki
2009-04-21 1:16 ` KAMEZAWA Hiroyuki
[not found] ` <20090419134508.GG8493-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-19 15:53 ` Andrea Righi
[not found] ` <20090417141358.GD29086-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-17 18:09 ` Nauman Rafique
2009-04-17 22:38 ` Andrea Righi
2009-04-18 13:19 ` Balbir Singh
2009-04-19 4:35 ` Nauman Rafique
2009-04-19 4:35 ` Nauman Rafique
[not found] ` <20090407064046.GB20498-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-08 20:37 ` [PATCH 01/10] Documentation Andrea Righi
[not found] ` <20090312001146.74591b9d.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-03-12 10:07 ` Ryo Tsuruta
2009-03-12 18:01 ` Vivek Goyal
2009-03-12 7:45 ` Yang Hongyang
2009-03-12 7:45 ` Yang Hongyang
2009-03-12 13:51 ` Vivek Goyal
[not found] ` <49B8BDB3.40808-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-12 13:51 ` Vivek Goyal
2009-03-12 10:00 ` Dhaval Giani
2009-03-12 10:24 ` Peter Zijlstra
2009-03-12 10:24 ` Peter Zijlstra
2009-03-12 14:09 ` Vivek Goyal
2009-03-12 14:09 ` Vivek Goyal
2009-04-06 14:35 ` Balbir Singh
2009-04-06 14:35 ` Balbir Singh
2009-04-07 5:59 ` Gui Jianfeng
[not found] ` <20090406143556.GK7082-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-04-06 22:00 ` Nauman Rafique
2009-04-06 22:00 ` Nauman Rafique
2009-04-07 5:59 ` Gui Jianfeng
2009-04-13 13:40 ` Vivek Goyal
2009-04-13 13:40 ` Vivek Goyal
2009-05-01 22:04 ` IKEDA, Munehiro
[not found] ` <49FB71F7.90309-MDRzhb/z0dd8UrSeD/g0lQ@public.gmane.org>
2009-05-01 22:45 ` IO Controller per cgroup request descriptors (Re: [PATCH 01/10] Documentation) Vivek Goyal
2009-05-01 22:45 ` Vivek Goyal
[not found] ` <20090501224506.GC6130-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-01 23:39 ` Nauman Rafique
2009-05-01 23:39 ` Nauman Rafique
[not found] ` <e98e18940905011639o63c048f1n79c7e7648441a06d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-04 17:18 ` IKEDA, Munehiro
2009-05-04 17:18 ` IKEDA, Munehiro
[not found] ` <20090413134017.GC18007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-01 22:04 ` [PATCH 01/10] Documentation IKEDA, Munehiro
2009-03-12 1:56 ` [PATCH 02/10] Common flat fair queuing code in elevaotor layer Vivek Goyal
2009-03-12 1:56 ` [PATCH 03/10] Modify cfq to make use of flat elevator fair queuing Vivek Goyal
2009-03-12 1:56 ` [PATCH 04/10] Common hierarchical fair queuing code in elevaotor layer Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 05/10] cfq changes to use " Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-04-16 5:25 ` [PATCH] IO-Controller: Fix kernel panic after moving a task Gui Jianfeng
[not found] ` <49E6C14F.3090009-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-16 19:15 ` Vivek Goyal
2009-04-16 19:15 ` Vivek Goyal
[not found] ` <1236823015-4183-6-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-16 5:25 ` Gui Jianfeng
2009-03-12 1:56 ` [PATCH 06/10] Separate out queue and data Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 07/10] Prepare elevator layer for single queue schedulers Vivek Goyal
2009-03-12 1:56 ` [PATCH 08/10] noop changes for hierarchical fair queuing Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 09/10] deadline " Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-12 1:56 ` [PATCH 10/10] anticipatory " Vivek Goyal
2009-03-12 1:56 ` Vivek Goyal
2009-03-27 6:58 ` [PATCH] IO Controller: No need to stop idling in as Gui Jianfeng
[not found] ` <49CC791A.10008-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-03-27 14:05 ` Vivek Goyal
2009-03-27 14:05 ` Vivek Goyal
[not found] ` <20090327140530.GE30476-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-30 1:09 ` Gui Jianfeng
2009-03-30 1:09 ` Gui Jianfeng
[not found] ` <1236823015-4183-11-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-03-27 6:58 ` Gui Jianfeng
2009-03-12 3:27 ` [RFC] IO Controller Takuya Yoshikawa
2009-04-02 6:39 ` Gui Jianfeng
2009-04-10 9:33 ` Gui Jianfeng
2009-05-01 1:25 ` Divyesh Shah
2009-04-02 6:39 ` Gui Jianfeng
[not found] ` <49D45DAC.2060508-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-02 14:00 ` Vivek Goyal
2009-04-02 14:00 ` Vivek Goyal
[not found] ` <20090402140037.GC12851-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-07 1:40 ` Gui Jianfeng
2009-04-07 1:40 ` Gui Jianfeng
[not found] ` <49DAAF25.8010702-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-07 6:40 ` Gui Jianfeng
2009-04-07 6:40 ` Gui Jianfeng
2009-04-10 9:33 ` Gui Jianfeng
2009-04-10 17:49 ` Nauman Rafique
[not found] ` <49DF1256.7080403-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-10 17:49 ` Nauman Rafique
2009-04-13 13:09 ` Vivek Goyal
2009-04-13 13:09 ` Vivek Goyal
[not found] ` <20090413130958.GB18007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-22 3:04 ` Gui Jianfeng
2009-04-22 3:04 ` Gui Jianfeng
2009-04-22 3:10 ` Nauman Rafique
[not found] ` <49EE895A.1060101-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-22 3:10 ` Nauman Rafique
2009-04-22 13:23 ` Vivek Goyal
2009-04-22 13:23 ` Vivek Goyal
2009-04-30 19:38 ` Nauman Rafique
[not found] ` <49F9FE3C.3070000-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2009-05-05 3:18 ` Gui Jianfeng
2009-05-05 3:18 ` Gui Jianfeng
[not found] ` <20090422132307.GA23098-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-30 19:38 ` Nauman Rafique
2009-05-01 1:25 ` Divyesh Shah
[not found] ` <49FA4F91.204-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2009-05-01 2:45 ` Vivek Goyal
2009-05-01 2:45 ` Vivek Goyal
2009-05-01 3:00 ` Divyesh Shah
[not found] ` <20090501024527.GA3730-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-01 3:00 ` Divyesh Shah
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=20090402135202.GB12851@redhat.com \
--to=vgoyal@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=arozansk@redhat.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=containers@lists.linux-foundation.org \
--cc=dhaval@linux.vnet.ibm.com \
--cc=dpshah@google.com \
--cc=fchecconi@gmail.com \
--cc=fernando@intellilink.co.jp \
--cc=guijianfeng@cn.fujitsu.com \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=menage@google.com \
--cc=mikew@google.com \
--cc=nauman@google.com \
--cc=oz-kernel@redhat.com \
--cc=paolo.valente@unimore.it \
--cc=peterz@infradead.org \
--cc=ryov@valinux.co.jp \
--cc=s-uchida@ap.jp.nec.com \
--cc=taka@valinux.co.jp \
/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.