From: Konstantin Dorfman <kdorfman@codeaurora.org>
To: mani <manishrma@gmail.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Cc: Tanya Brokhman <tlinder@codeaurora.org>
Subject: Re: [RFC/PATCH 4/4] block: Add URGENT request notification support to CFQ scheduler
Date: Sun, 04 Aug 2013 16:45:59 +0300 [thread overview]
Message-ID: <51FE5B17.3060608@codeaurora.org> (raw)
In-Reply-To: <CAB+TZU_PZTY696t0eEZ8i8qJueq8xMm2CrM1DFxtBW4XEoySpw@mail.gmail.com>
Hello Manish,
On 08/03/2013 10:28 PM, mani wrote:
>
> Yes, the patch does the same but then why to modify the CFQ ?
CFQ currently not supports URGENT request notification/reinsert - so you
can't use it with urgent data request implementation in mmc layer.
> Instead I think u should only move the urgent requests in front of the
> queue ?
This is not good enough, because still the urgent requests are stacked
after long write requests in the MMC layer and because of asynch request
mechanism it may be 2 very long write requests (eMMC4.5 packed request
feature can pack up to ~60 write requests into single packed request).
> Also may be someone has to do the decision making for the urgent request
> either it is application, VFS or Filesystem
According to my understanding there is clear separation of functionality
between block layer and block device driver: Block layer implements
policy of reordering/merging requests based on many parameters, while
block device driver mainly purpose to fill underlying data bus with
maximum efficiency (data rate/power/memory/etc. resource wise).
VFS/Filesystem uses block plug list to consolidate its bios and to give
a chance to merge them into single request in the block layer. For
ordering enforcement there is FLUSH/FUA mechanism. CFQ uses iopriority
as classification parameter to differentiate bios into different
priority queues.
> and that is the main concern. As per my understanding "*Every read may not
> be urgent and every write must not stall*.
Not every read is urgent in CFQ, request is considered urgent under the
following conditions:
1. The currently served queue has lower priority than the incoming
request queue (iopriority)
2. This is read request.
MMC layer re-inserts interrupted write request and original timestamp is
not changed, so it will be scheduled according to its deadline.
In case you need special requirements for say "low priority read" it
should be implemented within block layer scheduler (existing one or new).
Thanks,
--
Konstantin Dorfman,
QUALCOMM ISRAEL, on behalf of Qualcomm Innovation Center,
Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
prev parent reply other threads:[~2013-08-04 13:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-11 13:01 [RFC/PATCH 4/4] block: Add URGENT request notification support to CFQ scheduler Tanya Brokhman
2013-07-11 13:33 ` Santosh Y
2013-07-11 18:41 ` Jeff Moyer
2013-07-12 15:29 ` Tanya Brokhman
[not found] ` <CAB+TZU_hyC4WJ6UuyMupih29iRRwutoUX+U+c28qo8AGEnvRmw@mail.gmail.com>
[not found] ` <51E02B7D.6020505@codeaurora.org>
[not found] ` <CAB+TZU9T_pE66y=-BrLf1PZ7osFnni81VDQBNsFNFzqOtqrrCg@mail.gmail.com>
[not found] ` <51E053B8.5030602@codeaurora.org>
[not found] ` <51F539AB.5090601@codeaurora.org>
[not found] ` <CAB+TZU_PZTY696t0eEZ8i8qJueq8xMm2CrM1DFxtBW4XEoySpw@mail.gmail.com>
2013-08-04 13:45 ` Konstantin Dorfman [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=51FE5B17.3060608@codeaurora.org \
--to=kdorfman@codeaurora.org \
--cc=linux-mmc@vger.kernel.org \
--cc=manishrma@gmail.com \
--cc=tlinder@codeaurora.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