Thread (29 messages) 29 messages, 5 authors, 2017-11-06

Re: high overhead of functions blkg_*stats_* in bfq

From: Jens Axboe <axboe@kernel.dk>
Date: 2017-11-06 16:22:47

On 11/06/2017 09:21 AM, Paolo Valente wrote:
quoted
Il giorno 06 nov 2017, alle ore 17:13, Jens Axboe [off-list ref] ha scritto:

On 11/06/2017 09:11 AM, Paolo Valente wrote:
quoted
quoted
Il giorno 06 nov 2017, alle ore 16:47, Paolo Valente [off-list ref] ha scritto:
quoted
Il giorno 06 nov 2017, alle ore 16:00, Tejun Heo [off-list ref] ha scritto:

Hello,

On Sun, Nov 05, 2017 at 07:21:01PM -0700, Jens Axboe wrote:
quoted
It's pointless to give up on this so soon, when no effort has apparently
been dedicated to figuring out what the actual issue is yet. So no, no
patch that will just disable the stats is going to be accepted.

That said, I have no idea who uses these stats. Surely someone can
answer that question. Tejun?
Except for the basic bytes / ios counts, it's all debug fluff, which
should have been hidden behind a debug boot param or go under debugfs.
I'm not sure we can get rid of them at this point for cfq but I don't
see why we'd have them for bfq.
Ok, then I think this is the right time to ask you what I can throw
way for bfq.  According to your documentation, basic non-debug stats
should be:

blkio.time
blkio.time_recursive
blkio.sectors
blkio.io_service_bytes
blkio.io_service_bytes_recursive
blkio.io_serviced
blkio.io_serviced_recursive
blkio.io_service_time
blkio.io_service_time_recursive
blkio.io_wait_time
blkio.io_wait_time_recursive
blkio.io_merged
blkio.io_merged_recursive
blkio.io_queued
blkio.io_queued_recursive

So, I have to keep them in bfq, right?  Or is there something I can
remove for bfq, in your opinion?  Of course, I would be very happy to remove stuff!
Or, more mildly, could some of these stats be moved behind
CONFIG_DEBUG_BLK_CGROUP?
It'd be nice to have them be runtime enabled, but I don't think
that's a hard requirement at all.
So, you mean *all* stats dynamically enabled/disabled, and disabled by
default.  Plus, some of them also statically filtered, that is
enabled/disabled, through CONFIG_DEBUG_BLK_CGROUP.  Is my
understanding correct?  If it is, we will be happy to do it.
If you go the enable/disable route, don't make them depend on
DEBUG_BLK_CGROUP at all. Just have them be default off, with
some way to switch them on.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help