From: Paolo Valente <paolo.valente@linaro.org> To: Tejun Heo <tj@kernel.org> Cc: Jens Axboe <axboe@kernel.dk>, Fabio Checconi <fchecconi@gmail.com>, Arianna Avanzini <avanzini.arianna@gmail.com>, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, broonie@kernel.org Subject: Re: [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support Date: Fri, 22 Apr 2016 21:05:14 +0200 [thread overview] Message-ID: <C1A89D63-CBC4-4C92-8D5A-9FB55A53FBCF@linaro.org> (raw) In-Reply-To: <20160422184110.GX7822@mtj.duckdns.org> Il giorno 22/apr/2016, alle ore 20:41, Tejun Heo <tj@kernel.org> ha = scritto: > Hello, Paolo. >=20 > On Fri, Apr 22, 2016 at 08:19:47PM +0200, Paolo Valente wrote: >>> So, a kworker would jump through different workqueues and issue IOs >>> for different writeback domains and the context can't be tied to the >>> issuing task. The cgroup membership should be determined directly >>> from the bio. >>=20 >> Yes. My doubt arises from the fact that the only source of intense = I/O >> is the dd (I have executed it alone). In contrast, group changes = occur >> at a high frequency during all the execution of the dd. Apparently I >> cannot see any other I/O induced by the dd. Journaling issues sync >> requests. >>=20 >>> cfq uses per-cgroup async queue. I'm not sure how this >>> would map to bfq tho. >>=20 >> It=92s the same. But this is the part I=92m checking. >=20 > Ah, right, I was confused. cic is always associated with the task and > yes a writeback worker can trigger blkcg changed events frequently as > it walks through different cgroups. Is this an issue? >=20 That=92s exactly the source of my confusion: why does the worker walk = through different cgroups all the time if the I/O is originated by the = same process, which never changes group? Thanks, Paolo > Thanks. >=20 > --=20 > tejun
WARNING: multiple messages have this Message-ID (diff)
From: Paolo Valente <paolo.valente@linaro.org> To: Tejun Heo <tj@kernel.org> Cc: Jens Axboe <axboe@kernel.dk>, Fabio Checconi <fchecconi@gmail.com>, Arianna Avanzini <avanzini.arianna@gmail.com>, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, broonie@kernel.org Subject: Re: [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support Date: Fri, 22 Apr 2016 21:05:14 +0200 [thread overview] Message-ID: <C1A89D63-CBC4-4C92-8D5A-9FB55A53FBCF@linaro.org> (raw) In-Reply-To: <20160422184110.GX7822@mtj.duckdns.org> Il giorno 22/apr/2016, alle ore 20:41, Tejun Heo <tj@kernel.org> ha scritto: > Hello, Paolo. > > On Fri, Apr 22, 2016 at 08:19:47PM +0200, Paolo Valente wrote: >>> So, a kworker would jump through different workqueues and issue IOs >>> for different writeback domains and the context can't be tied to the >>> issuing task. The cgroup membership should be determined directly >>> from the bio. >> >> Yes. My doubt arises from the fact that the only source of intense I/O >> is the dd (I have executed it alone). In contrast, group changes occur >> at a high frequency during all the execution of the dd. Apparently I >> cannot see any other I/O induced by the dd. Journaling issues sync >> requests. >> >>> cfq uses per-cgroup async queue. I'm not sure how this >>> would map to bfq tho. >> >> It’s the same. But this is the part I’m checking. > > Ah, right, I was confused. cic is always associated with the task and > yes a writeback worker can trigger blkcg changed events frequently as > it walks through different cgroups. Is this an issue? > That’s exactly the source of my confusion: why does the worker walk through different cgroups all the time if the I/O is originated by the same process, which never changes group? Thanks, Paolo > Thanks. > > -- > tejun
next prev parent reply other threads:[~2016-04-22 19:05 UTC|newest] Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-02-01 22:12 [PATCH RFC 00/22] Replace the CFQ I/O Scheduler with BFQ Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 01/22] block, cfq: remove queue merging for close cooperators Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 02/22] block, cfq: remove close-based preemption Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 03/22] block, cfq: remove deep seek queues logic Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 04/22] block, cfq: remove SSD-related logic Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 05/22] block, cfq: get rid of hierarchical support Paolo Valente 2016-02-10 23:04 ` Tejun Heo 2016-02-01 22:12 ` [PATCH RFC 06/22] block, cfq: get rid of queue preemption Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 07/22] block, cfq: get rid of workload type Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 08/22] block, cfq: get rid of latency tunables Paolo Valente 2016-02-10 23:05 ` Tejun Heo 2016-02-01 22:12 ` [PATCH RFC 09/22] block, cfq: replace CFQ with the BFQ-v0 I/O scheduler Paolo Valente 2016-02-11 22:22 ` Tejun Heo 2016-02-12 0:35 ` Mark Brown 2016-02-17 15:57 ` Tejun Heo 2016-02-17 16:02 ` Mark Brown 2016-02-17 17:04 ` Tejun Heo 2016-02-17 18:13 ` Jonathan Corbet 2016-02-17 19:45 ` Tejun Heo 2016-02-17 19:56 ` Jonathan Corbet 2016-02-17 20:14 ` Tejun Heo 2016-02-17 9:02 ` Paolo Valente 2016-02-17 17:02 ` Tejun Heo 2016-02-20 10:23 ` Paolo Valente 2016-02-20 11:02 ` Paolo Valente 2016-03-01 18:46 ` Tejun Heo 2016-03-04 17:29 ` Linus Walleij 2016-03-04 17:39 ` Christoph Hellwig 2016-03-04 18:10 ` Austin S. Hemmelgarn 2016-03-11 11:16 ` Christoph Hellwig 2016-03-11 13:38 ` Austin S. Hemmelgarn 2016-03-05 12:18 ` Linus Walleij 2016-03-11 11:17 ` Christoph Hellwig 2016-03-11 11:24 ` Nikolay Borisov 2016-03-11 11:49 ` Christoph Hellwig 2016-03-11 14:53 ` Linus Walleij 2016-03-09 6:55 ` Paolo Valente 2016-04-13 19:54 ` Tejun Heo 2016-04-14 5:03 ` Mark Brown 2016-03-09 6:34 ` Paolo Valente 2016-04-13 20:41 ` Tejun Heo 2016-04-14 10:23 ` Paolo Valente 2016-04-14 16:29 ` Tejun Heo 2016-04-15 14:20 ` Paolo Valente 2016-04-15 15:08 ` Tejun Heo 2016-04-15 16:17 ` Paolo Valente 2016-04-15 19:29 ` Tejun Heo 2016-04-15 22:08 ` Paolo Valente 2016-04-15 22:45 ` Tejun Heo 2016-04-16 6:03 ` Paolo Valente 2016-04-15 14:49 ` Linus Walleij 2016-02-01 22:12 ` [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support Paolo Valente 2016-02-11 22:28 ` Tejun Heo 2016-02-17 9:07 ` Paolo Valente 2016-02-17 9:07 ` Paolo Valente 2016-02-17 17:14 ` Tejun Heo 2016-02-17 17:45 ` Tejun Heo 2016-04-20 9:21 ` Paolo 2016-04-20 9:32 ` Paolo 2016-04-22 18:13 ` Tejun Heo 2016-04-22 18:19 ` Paolo Valente 2016-04-22 18:19 ` Paolo Valente 2016-04-22 18:41 ` Tejun Heo 2016-04-22 19:05 ` Paolo Valente [this message] 2016-04-22 19:05 ` Paolo Valente 2016-04-22 19:32 ` Tejun Heo 2016-04-23 7:07 ` Paolo Valente 2016-04-23 7:07 ` Paolo Valente 2016-04-25 19:24 ` Tejun Heo 2016-04-25 20:30 ` Paolo 2016-05-06 20:20 ` Paolo Valente 2016-05-06 20:20 ` Paolo Valente 2016-05-12 13:11 ` Paolo 2016-07-27 16:13 ` [PATCH RFC V8 00/22] Replace the CFQ I/O Scheduler with BFQ Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 01/22] block, cfq: remove queue merging for close cooperators Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 02/22] block, cfq: remove close-based preemption Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 03/22] block, cfq: remove deep seek queues logic Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 04/22] block, cfq: remove SSD-related logic Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 05/22] block, cfq: get rid of hierarchical support Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 06/22] block, cfq: get rid of queue preemption Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 07/22] block, cfq: get rid of workload type Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 08/22] block, cfq: get rid of latency tunables Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 09/22] block, cfq: replace CFQ with the BFQ-v0 I/O scheduler Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 10/22] block, bfq: add full hierarchical scheduling and cgroups support Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 11/22] block, bfq: improve throughput boosting Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 12/22] block, bfq: modify the peak-rate estimator Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 13/22] block, bfq: add more fairness with writes and slow processes Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 14/22] block, bfq: improve responsiveness Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 15/22] block, bfq: reduce I/O latency for soft real-time applications Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 16/22] block, bfq: preserve a low latency also with NCQ-capable drives Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 17/22] block, bfq: reduce latency during request-pool saturation Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 18/22] block, bfq: add Early Queue Merge (EQM) Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 19/22] block, bfq: reduce idling only in symmetric scenarios Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 20/22] block, bfq: boost the throughput on NCQ-capable flash-based devices Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 21/22] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs Paolo Valente 2016-07-27 16:13 ` [PATCH RFC V8 22/22] block, bfq: handle bursts of queue activations Paolo Valente 2016-07-28 16:50 ` [PATCH RFC V8 00/22] Replace the CFQ I/O Scheduler with BFQ Paolo 2016-02-01 22:12 ` [PATCH RFC 11/22] block, bfq: improve throughput boosting Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 12/22] block, bfq: modify the peak-rate estimator Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 13/22] block, bfq: add more fairness to boost throughput and reduce latency Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 14/22] block, bfq: improve responsiveness Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 15/22] block, bfq: reduce I/O latency for soft real-time applications Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 16/22] block, bfq: preserve a low latency also with NCQ-capable drives Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 17/22] block, bfq: reduce latency during request-pool saturation Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 18/22] block, bfq: add Early Queue Merge (EQM) Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 19/22] block, bfq: reduce idling only in symmetric scenarios Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 20/22] block, bfq: boost the throughput on NCQ-capable flash-based devices Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 21/22] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs Paolo Valente 2016-02-01 22:12 ` [PATCH RFC 22/22] block, bfq: handle bursts of queue activations Paolo Valente
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=C1A89D63-CBC4-4C92-8D5A-9FB55A53FBCF@linaro.org \ --to=paolo.valente@linaro.org \ --cc=avanzini.arianna@gmail.com \ --cc=axboe@kernel.dk \ --cc=broonie@kernel.org \ --cc=fchecconi@gmail.com \ --cc=linus.walleij@linaro.org \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=tj@kernel.org \ --cc=ulf.hansson@linaro.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: linkBe 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.