lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 9 Oct 2019 17:36:29 +0200
From:   Michal Koutný <mkoutny@...e.com>
To:     Tejun Heo <tj@...nel.org>
Cc:     hannes@...xchg.org, clm@...com, dennisz@...com,
        Josef Bacik <jbacik@...com>, kernel-team@...com,
        newella@...com, lizefan@...wei.com, axboe@...nel.dk,
        Paolo Valente <paolo.valente@...aro.org>,
        Rik van Riel <riel@...riel.com>, josef@...icpanda.com,
        cgroups@...r.kernel.org, linux-block@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 08/10] blkcg: implement blk-iocost

On Thu, Oct 03, 2019 at 09:45:52AM -0700, Tejun Heo <tj@...nel.org> wrote:
> [...] but the qos file gets weird because the content of the file is
> more resource control policies than device properties.
I see two facets on this -- the semantics of the QoS controls and
storing controller parameters generally.

Because I'm not fully convinced using the root cgroup for the latter is
a good idea and I don't have a better one (what about
/sys/kernel/cgroup/?), I'd like to question the former to potentially
postpone finding the place for its parameters :-)


On Wed, Aug 28, 2019 at 03:05:58PM -0700, Tejun Heo <tj@...nel.org> wrote:
> [...]
> Please see the top comment in blk-iocost.c and documentation for
> more details.
I admit I did't grasp the explanations in the cgroup-v2.rst, perhaps
some of the explanations from blk-iocost.c would be useful there as
well.

IIUC, the controls are supposed to be abstracted and generic to express
high-level ideas and be independent of particular details.
Here a bunch of parameters is introduced whose tuning may become a
complex optimization task.

What is the metric that is the QoS controller striving to guarantee?
How does it differ from the io.latency policy?


> [...] 
> + * 2-2. Vrate Adjustment
> + * [...] When this delay becomes noticeable, it's a clear
> + * indication that the device is saturated and we lower the vrate.  This
> + * saturation signal is fairly conservative as it only triggers when both
> + * hardware and software queues are filled up, and is used as the default
> + * busy signal.
(The following paragraph is based only on naïve understanding of the
block layer.) So the device's vrate is lowered, causing its vtime
growing slower, i.e.  postponing issuing an IO later for all cgroups
accessing the device. But what's the purpose of this? If the queues fill
up, wouldn't be all naturally pushed back by the longer queue time
anyway? And wouldn't slowing down the device's vtime just cause queueing
elsewhere?

Thanks,
Michal

Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ