linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Valente <paolo.valente@linaro.org>
To: Tejun Heo <tj@kernel.org>
Cc: Angelo Ruocco <angelo.ruocco.90@gmail.com>,
	'Paolo Valente' via bfq-iosched  <bfq-iosched@googlegroups.com>,
	Jens Axboe <axboe@kernel.dk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Li Zefan <lizefan@huawei.com>,
	Angelo Ruocco <angeloruocco90@gmail.com>,
	Dennis Zhou <dennis@kernel.org>,
	Josef Bacik <josef@toxicpanda.com>,
	Liu Bo <bo.liu@linux.alibaba.com>,
	Bart Van Assche <bvanassche@acm.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	linux-block <linux-block@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	broonie@kernel.org, oleksandr@natalenko.name,
	cgroups@vger.kernel.org, linux-doc@vger.kernel.org,
	Jonathan Corbet <corbet@lwn.net>
Subject: Re: [PATCH V2 00/10] unify the interface of the proportional-share policy in blkio/io
Date: Tue, 18 Dec 2018 18:22:52 +0100	[thread overview]
Message-ID: <EC4F9B54-2352-4D85-B56C-5800CFEBCCB8@linaro.org> (raw)
In-Reply-To: <20181218164126.GX2509588@devbig004.ftw2.facebook.com>



> Il giorno 18 dic 2018, alle ore 17:41, Tejun Heo <tj@kernel.org> ha scritto:
> 
> Hello, Paolo.
> 
> On Tue, Dec 18, 2018 at 08:48:10AM +0100, Paolo Valente wrote:
>> If Tejun cannot see any solution to his concern, then can we just
>> switch to this extension, considering that
>> - for non-shared names the interface is *identical* to the current
>>  one;
>> - by using this new interface, and getting feedback we could
>>  understand how to better handle Tejun's concern?
>> A lot of systems do use weights, and people don't even know that these
>> systems don't work correctly in blk-mq.  And they won't work correctly
>> in any available configuration from 4.21, if we don't fix this problem.
> 
> So, when seen from userland, how it should behave isn't vague or
> complicated.  For a given device and policy type, there can be only
> one implementation active.

Yes, but the problem is the opposite. You may have
- two different policies, with the same interface parameter, 
- one active on one device
- the other one active on another device

In that case, statistics from one policy necessarily differ from
statistics from the other policy.

In this respect, in a system with more than one drive it already
happens that the same policy is active on different devices.  When
printing a statistics interface file for the policy, the output will
be a list of separate statistics, with a bunch of statistics *for
each* drive (plus a grand total in some cases).

So, our proposal simply extends this scheme in the most natural way:
if, now, also two or more policies share the same statistics file,
then the output will be a list of separate statistics, one for each
policy.  The statistics for each policy will be tagged with the policy
name, and will have the same identical form as above.  It seems the
most natural hierarchical extension of the same scheme.

At any rate, if you don't like it, just tell us how you prefer it
done.  Do you prefer the sharing of statistics file to be simply
forbidden?  (If this can be done.) I think such an incomplete solution
would preserve part of the current mess; but, if this allows us to
exit from this impasse, then it is ok for me.

*Any* feasible option is ok for me. Just pick one.

>  It doesn't make sense to have two weight
> mechanisms active on one device, right?

(Un)fortunately, the problem are not weights.  There won't be two
weights for two policies expiring a weight parameter.  The problems
concerns statistics.  See above.


>  So, the interface should only
> present what makes sense to the user for both configuration knobs and
> statistics, and that'd be a hard requirement because we don't want to
> present confusing spurious information to userspace.
> 
> There seemd to have been significant misunderstandings as to what the
> requirements are when this was discussed way back, so idk what the
> good path forward is at this point.  Just keep the current names?
> 

I don't clearly understand how "just picking the current names" is a
way forward, but if we do not make this extension, in a way or the
other, then two policies will simply not be allowed to share the same
interface files.  And we will be still at the starting point.

Thanks,
Paolo

> Thanks.
> 
> -- 
> tejun


  reply	other threads:[~2018-12-18 17:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-19 10:34 [PATCH V2 00/10] unify the interface of the proportional-share policy in blkio/io Paolo Valente
2018-11-19 10:34 ` [PATCH V2 01/10] cgroup: add hook seq_show_cft with also the owning cftype as parameter Paolo Valente
2018-11-19 10:34 ` [PATCH V2 02/10] block, cgroup: pass cftype to functions that need to use it Paolo Valente
2018-11-19 10:34 ` [PATCH V2 03/10] cgroup: link cftypes of the same subsystem with the same name Paolo Valente
2018-11-19 10:34 ` [PATCH V2 04/10] cgroup: add owner name to cftypes Paolo Valente
2018-11-19 10:34 ` [PATCH V2 05/10] block, bfq: align min and default weights with the old cfq default Paolo Valente
2018-11-19 10:34 ` [PATCH V2 06/10] cgroup: make all functions of all cftypes be invoked Paolo Valente
2018-11-19 10:34 ` [PATCH V2 07/10] block, bfq: use standard file names for the proportional-share policy Paolo Valente
2018-11-19 10:34 ` [PATCH V2 08/10] block, throttle: allow sharing cgroup statistic files Paolo Valente
2018-11-19 10:34 ` [PATCH V2 09/10] doc, bfq-iosched: fix a few clerical errors Paolo Valente
2018-11-19 10:34 ` [PATCH V2 10/10] doc, bfq-iosched: make it consistent with the new cgroup interface Paolo Valente
2018-11-20 16:28 ` [PATCH V2 00/10] unify the interface of the proportional-share policy in blkio/io Tejun Heo
2018-11-20 16:50   ` Paolo Valente
2018-11-30 18:23     ` Paolo Valente
2018-11-30 18:42       ` Tejun Heo
2018-11-30 18:53         ` Paolo Valente
2018-12-10 13:45           ` Angelo Ruocco
2018-12-18  7:48             ` Paolo Valente
2018-12-18 16:41               ` Tejun Heo
2018-12-18 17:22                 ` Paolo Valente [this message]
2018-12-18 18:05                   ` Paolo Valente
2018-12-23 11:00                   ` Paolo Valente
2018-12-27 23:41                     ` Tejun Heo
2018-12-30 10:25                       ` Paolo Valente
2019-01-02 16:03                         ` Tejun Heo
2019-01-02 16:28                           ` 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=EC4F9B54-2352-4D85-B56C-5800CFEBCCB8@linaro.org \
    --to=paolo.valente@linaro.org \
    --cc=angelo.ruocco.90@gmail.com \
    --cc=angeloruocco90@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=bfq-iosched@googlegroups.com \
    --cc=bo.liu@linux.alibaba.com \
    --cc=broonie@kernel.org \
    --cc=bvanassche@acm.org \
    --cc=cgroups@vger.kernel.org \
    --cc=corbet@lwn.net \
    --cc=dennis@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=josef@toxicpanda.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=oleksandr@natalenko.name \
    --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: 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).