From: keith.busch@intel.com (Keith Busch)
Subject: Question on IOStat accounting
Date: Tue, 23 Sep 2014 09:31:35 -0600 (MDT) [thread overview]
Message-ID: <alpine.LRH.2.03.1409230745540.4696@AMR> (raw)
In-Reply-To: <08f801cfd701$b1b8c850$152a58f0$@samsung.com>
On Tue, 23 Sep 2014, Indraneel Mukherjee wrote:
> If nvme_submit_bio_queue() fails to queue the IOD, the BIO gets queued in
> the sq_cong BIO list.
> But we don't start accounting for this immediately even though the BIO is
> now queued up with the Driver.
> Any particular reason for this? Is it because it's a rare scenario we're
> talking about here?
Hi Indraneel,
This seems more-or-less consistent with request based block drivers. The
main reason you'd get bios queued on the bio_list is if you're out of
memory, and request based drivers wouldn't start accounting if it couldn't
allocate memory either; if you're out of memory, you've probably bigger
problems than iostats, so hopefully it's a rare scenario.
The other reason you'd get bio's queued is if we're splitting them,
but then that kicks the kthread to immediatly send the two parts within
a jiffie, so the accounting is probably not affected there.
>
>> On Wed, 17 Sep 2014, Indraneel Mukherjee wrote:
>>> In the current implementation of IO accounting in the nvme driver,
>>> accounting is started once IOD is successfully prepared.
>>> Thereafter 2 cases can happen, either IO gets successfully submitted
>>> to device or it can get queued up in the IOD list if there is a failure.
>>>
>>> So what's the definition of iostat here? In-flight in the device or
>>> in-flight in the driver ? Is there a need to make this consistent?
>>
>> It seems consistent with other block drivers. Usually stats are handled
>> above the device driver at the request layer, but bio-based drivers handle
>> the stats on their own.
prev parent reply other threads:[~2014-09-23 15:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-17 12:32 Question on IOStat accounting Indraneel Mukherjee
2014-09-17 14:28 ` Keith Busch
2014-09-23 7:40 ` Indraneel Mukherjee
2014-09-23 15:31 ` Keith Busch [this message]
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=alpine.LRH.2.03.1409230745540.4696@AMR \
--to=keith.busch@intel.com \
/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