All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	ksummit-discuss@lists.linux-foundation.org,
	Greg KH <gregkh@linuxfoundation.org>, Jens Axboe <axboe@fb.com>,
	hare@suse.de, Tejun Heo <tj@kernel.org>,
	Omar Sandoval <osandov@osandov.com>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] Addressing long-standing high-latency problems related to I/O
Date: Sat, 17 Sep 2016 12:31:34 +0200	[thread overview]
Message-ID: <CACRpkdYeSTEgv96ACQYVFD9soXuE95DtbaNcrfqU65TTbYg7Fg@mail.gmail.com> (raw)
In-Reply-To: <1474054593.2353.76.camel@HansenPartnership.com>

On Fri, Sep 16, 2016 at 9:36 PM, James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:

> OK, so the problem with a formal discussion of something like this at
> KS is that of the 80 or so people in the room, likely only 10 have any
> interest whatsoever, leading to intense boredom for the remaining 70.

If it is about the semantics of CFQ, BFQ and MQ yes. But what is lurking
here is also a social problem and that need to be addressed at KS IMO.

Following this from a laidback bystander position I recognize patterns that
we saw earlier in the CPU scheduler community when the fuzz was all
about the interactive qualities of the O(1) scheduler vs rotating staircase
and the eventual merge of the (awesome) CFS scheduler. And the kind of
attention that brought about the (cool) CPU deadline scheduler.

I think the problem is in the original Thomas Kuhnian sense paradigmatic.

That is, loosely defined, what kind of questions should be addressed and
what type of answers that could be expected, a set of working assumptions
for the community so that it can make steady progress and not be
disturbed by irrelevant noise.

The block layer people are working inside a paradigm, that is something
like "use the hardware optimally to maximize throughput". It is obvious from
things like mq and the fio tool that this is what is percieved as the problem
space it sets out to manouver.

Now comes along this italian who says something totally perpendicular
like "but I care much more about latency", i.e. how interactive the system
is for a user, start-up time of applications under load, no skipping in the
media players under system load and things like that.

Well that is no storage cluster use case...

(Modified truth: Paolo actually consulted for a storage provider that did
not provide a certain average thoughput, but instead an as exact throughput
rate as possible, which made BFQ fit their usecase better. But you get
the point.)

The usual reaction from people working inside the paradigm to concepts
alien to them will be a series of shrugs and yawns. And that is human.
Don't rock the boat. Sit down. Or even "can't you just take a bigger and
faster nvram disk? Well, I think you will be able to in two years so give
up right now."

Even more intimidating when he's making research reports and
measurements and develop repeatable test cases to prove the point.

In the past CPU scheduler debate some people have done lame
handwavy arguments as to why this or that scheduler is so much better,
but that is not the case here. Paolo's tests are very real. Scientific,
repeatable, hard measures.

The point is, I suspect that the block layer community is all about
throughput and the talk about latency and interactivity is seen as an
annoying distraction.

Like the kids making noise about doing detours for catching Pokémons
in the back seat of the car while you're in the driving seat, driving to
some percieved important destination. If you see what I mean. Their
problems is not really your problem, so you don't care much. It will be
more "yeah yeah, we'll see about your Pokémons. Someday."

But as in the case with the CPU schedulers, what we risk getting out
there amongst the comments in LWN and Phoronix and sites like that is a
conspiracy theory: that the block layer devs are living in their ivory tower
and not caring about interactivity of Linux and the desktop user experience
and all that old yada-yada we've heard a million times by now.

The point is not about the Linux desktop even, if you ask me. The point for
me is that for everyone using an Android phone, Linux block layer
interactivity matters, every time an application lags in start up on a
stressed Android, and for spurious writes like "optimizing applications"
it's even worse. (Disclaimer: I represent the embedded, tablet and handset
industry. I might be tainted.)

The people who think ineractivity of the block layer is important to them
wants a voice. And Paolo is there for them, at the KS. I would take this
opportunity to listen to him, whether formally or informally.

ALSO to get the vibe from the kernel developer community at large:
hands down: what matters to us? Data storage clusters of nvrams or
embedded eMMC cards in Android phones? Or both? Is that even a
question so silly that it should not be asked? Don't ask me, ask the KS
attendees. I think it's relevant.

(If for nothing else we do a good job at kicking up dust on this mailing
list already, and we've been told it is actually more important than the
KS itself.)

Yours,
Linus Walleij

  parent reply	other threads:[~2016-09-17 10:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-16  7:55 [Ksummit-discuss] [TECH TOPIC] Addressing long-standing high-latency problems related to I/O Paolo Valente
2016-09-16  8:24 ` Greg KH
2016-09-16  8:59   ` Linus Walleij
2016-09-16  9:10     ` Bart Van Assche
2016-09-16 11:24       ` Linus Walleij
2016-09-16 11:46         ` Arnd Bergmann
2016-09-16 13:10           ` Paolo Valente
2016-09-16 13:36           ` Linus Walleij
2016-09-16 11:53         ` Bart Van Assche
2016-09-22  9:18     ` Ulf Hansson
2016-09-22 11:06       ` Linus Walleij
2016-09-16 15:15   ` James Bottomley
2016-09-16 18:48     ` Paolo Valente
2016-09-16 19:36       ` James Bottomley
2016-09-16 20:13         ` Paolo Valente
2016-09-19  8:17           ` Jan Kara
2016-09-17 10:31         ` Linus Walleij [this message]
2016-09-21 13:51         ` Grant Likely
2016-09-21 14:30 ` Bart Van Assche
2016-09-21 14:37   ` 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=CACRpkdYeSTEgv96ACQYVFD9soXuE95DtbaNcrfqU65TTbYg7Fg@mail.gmail.com \
    --to=linus.walleij@linaro.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=axboe@fb.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=ksummit-discuss@lists.linux-foundation.org \
    --cc=osandov@osandov.com \
    --cc=tj@kernel.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 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.