<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig.iosched</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4a6a7bc2 - block: Default to use cgroup support for BFQ</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#4a6a7bc2</link>
        <description>block: Default to use cgroup support for BFQAssuming that both Kconfig options, BLK_CGROUP and IOSCHED_BFQ are set, wemost likely want cgroup support for BFQ too (BFQ_GROUP_IOSCHED), so let&apos;smake it default y.Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;Link: https://lore.kernel.org/r/20230130121240.159456-1-ulf.hansson@linaro.orgSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Mon, 30 Jan 2023 12:12:40 +0000</pubDate>
        <dc:creator>Ulf Hansson &lt;ulf.hansson@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>5ef16305 - block: only build the icq tracking code when needed</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#5ef16305</link>
        <description>block: only build the icq tracking code when neededOnly bfq needs to code to track icq, so make it conditional.Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;Link: https://lore.kernel.org/r/20211209063131.18537-12-hch@lst.deSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Thu, 09 Dec 2021 06:31:31 +0000</pubDate>
        <dc:creator>Christoph Hellwig &lt;hch@lst.de&gt;</dc:creator>
    </item>
<item>
        <title>c50fca55 - block: simplify Kconfig files</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#c50fca55</link>
        <description>block: simplify Kconfig filesEverything under block/ depends on BLOCK. BLOCK_HOLDER_DEPRECATED isselected from drivers/md/Kconfig, which is entirely dependent on BLOCK.Extend the &apos;if BLOCK&apos; ... &apos;endif&apos; so it covers the whole block/Kconfig.Also, clean up the definition of BLOCK_COMPAT and BLK_MQ_PCI becauseCOMPAT and PCI are boolean.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;Link: https://lore.kernel.org/r/20210927140000.866249-3-masahiroy@kernel.orgSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Mon, 27 Sep 2021 13:59:58 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0f783995 - Revert &quot;block/mq-deadline: Add cgroup support&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#0f783995</link>
        <description>Revert &quot;block/mq-deadline: Add cgroup support&quot;This reverts commit 08a9ad8bf607 (&quot;block/mq-deadline: Add cgroup support&quot;)and a follow-up commit c06bc5a3fb42 (&quot;block/mq-deadline: Remove aWARN_ON_ONCE() call&quot;). The added cgroup support has the following issues:* It breaks cgroup interface file format rule by adding custom elements to a  nested key-value file.* It registers mq-deadline as a cgroup-aware policy even though all it&apos;s  doing is collecting per-cgroup stats. Even if we need these stats, this  isn&apos;t the right way to add them.* It hasn&apos;t been reviewed from cgroup side.Cc: Bart Van Assche &lt;bvanassche@acm.org&gt;Cc: Jens Axboe &lt;axboe@kernel.dk&gt;Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Wed, 11 Aug 2021 17:41:45 +0000</pubDate>
        <dc:creator>Tejun Heo &lt;tj@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>08a9ad8b - block/mq-deadline: Add cgroup support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#08a9ad8b</link>
        <description>block/mq-deadline: Add cgroup supportMaintain statistics per cgroup and export these to user space. Thesestatistics are essential for verifying whether the proper I/O prioritieshave been assigned to requests. An example of the statistics data withthis patch applied:$ cat /sys/fs/cgroup/io.stat11:2 rbytes=0 wbytes=0 rios=3 wios=0 dbytes=0 dios=0 [NONE] dispatched=0 inserted=0 merged=171 [RT] dispatched=0 inserted=0 merged=0 [BE] dispatched=0 inserted=0 merged=0 [IDLE] dispatched=0 inserted=0 merged=08:32 rbytes=2142720 wbytes=0 rios=105 wios=0 dbytes=0 dios=0 [NONE] dispatched=0 inserted=0 merged=171 [RT] dispatched=0 inserted=0 merged=0 [BE] dispatched=0 inserted=0 merged=0 [IDLE] dispatched=0 inserted=0 merged=0Cc: Damien Le Moal &lt;damien.lemoal@wdc.com&gt;Cc: Hannes Reinecke &lt;hare@suse.de&gt;Cc: Christoph Hellwig &lt;hch@lst.de&gt;Cc: Ming Lei &lt;ming.lei@redhat.com&gt;Cc: Johannes Thumshirn &lt;johannes.thumshirn@wdc.com&gt;Cc: Himanshu Madhani &lt;himanshu.madhani@oracle.com&gt;Signed-off-by: Bart Van Assche &lt;bvanassche@acm.org&gt;Link: https://lore.kernel.org/r/20210618004456.7280-16-bvanassche@acm.orgSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Fri, 18 Jun 2021 00:44:55 +0000</pubDate>
        <dc:creator>Bart Van Assche &lt;bvanassche@acm.org&gt;</dc:creator>
    </item>
<item>
        <title>a7f7f624 - treewide: replace &apos;---help---&apos; in Kconfig files with &apos;help&apos;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#a7f7f624</link>
        <description>treewide: replace &apos;---help---&apos; in Kconfig files with &apos;help&apos;Since commit 84af7a6194e4 (&quot;checkpatch: kconfig: prefer &apos;help&apos; over&apos;---help---&apos;&quot;), the number of &apos;---help---&apos; has been graduallydecreasing, but there are still more than 2400 instances.This commit finishes the conversion. While I touched the lines,I also fixed the indentation.There are a variety of indentation styles found.  a) 4 spaces + &apos;---help---&apos;  b) 7 spaces + &apos;---help---&apos;  c) 8 spaces + &apos;---help---&apos;  d) 1 space + 1 tab + &apos;---help---&apos;  e) 1 tab + &apos;---help---&apos;    (correct indentation)  f) 1 tab + 1 space + &apos;---help---&apos;  g) 1 tab + 2 spaces + &apos;---help---&apos;In order to convert all of them to 1 tab + &apos;help&apos;, I ran thefollowing commend:  $ find . -name &apos;Kconfig*&apos; | xargs sed -i &apos;s/^[[:space:]]*---help---/\thelp/&apos;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Sat, 13 Jun 2020 16:50:22 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>1d156646 - blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTAT</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#1d156646</link>
        <description>blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTATblkg_rwstat is now only used by bfq-iosched and blk-throtl when oncgroup1.  Let&apos;s move it into its own files and gate it behind a configoption.Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Thu, 07 Nov 2019 19:18:04 +0000</pubDate>
        <dc:creator>Tejun Heo &lt;tj@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>898bd37a - docs: block: convert to ReST</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#898bd37a</link>
        <description>docs: block: convert to ReSTRename the block documentation files to ReST, add anindex for them and adjust in order to produce a nice htmloutput via the Sphinx build system.At its new index.rst, let&apos;s add a :orphan: while this is not linked tothe main index.rst file, in order to avoid build warnings.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Thu, 18 Apr 2019 22:45:00 +0000</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>8060c47b - block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUG</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#8060c47b</link>
        <description>block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUGThis option is entirely bfq specific, give it an appropinquate name.Also make it depend on CONFIG_BFQ_GROUP_IOSCHED in Kconfig, as allthe functionality already does so anyway.Acked-by: Tejun Heo &lt;tj@kernel.org&gt;Acked-by: Paolo Valente &lt;paolo.valente@linaro.org&gt;Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Thu, 06 Jun 2019 10:26:24 +0000</pubDate>
        <dc:creator>Christoph Hellwig &lt;hch@lst.de&gt;</dc:creator>
    </item>
<item>
        <title>f382fb0b - block: remove legacy IO schedulers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#f382fb0b</link>
        <description>block: remove legacy IO schedulersRetain the deadline documentation, as that carries over to mq-deadlineas well.Tested-by: Ming Lei &lt;ming.lei@redhat.com&gt;Reviewed-by: Omar Sandoval &lt;osandov@fb.com&gt;Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Fri, 12 Oct 2018 16:14:46 +0000</pubDate>
        <dc:creator>Jens Axboe &lt;axboe@kernel.dk&gt;</dc:creator>
    </item>
<item>
        <title>1306ad4e - block: remove redundant &apos;default n&apos; from Kconfig-s</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#1306ad4e</link>
        <description>block: remove redundant &apos;default n&apos; from Kconfig-s&apos;default n&apos; is the default value for any bool or tristate Kconfigsetting so there is no need to write it explicitly.Also since commit f467c5640c29 (&quot;kconfig: only write &apos;# CONFIG_FOOis not set&apos; for visible symbols&quot;) the Kconfig behavior is the sameregardless of &apos;default n&apos; being present or not:    ...    One side effect of (and the main motivation for) this change is making    the following two definitions behave exactly the same:        config FOO                bool        config FOO                bool                default n    With this change, neither of these will generate a    &apos;# CONFIG_FOO is not set&apos; line (assuming FOO isn&apos;t selected/implied).    That might make it clearer to people that a bare &apos;default n&apos; is    redundant.    ...Signed-off-by: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Tue, 09 Oct 2018 14:32:54 +0000</pubDate>
        <dc:creator>Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;</dc:creator>
    </item>
<item>
        <title>b2441318 - License cleanup: add SPDX GPL-2.0 license identifier to files with no license</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#b2441318</link>
        <description>License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseMany source files in the tree are missing licensing information, whichmakes it harder for compliance tools to determine the correct license.By default all files without license information are under the defaultlicense of the kernel, which is GPL version 2.Update the files which contain no license information with the &apos;GPL-2.0&apos;SPDX license identifier.  The SPDX identifier is a legally bindingshorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart andPhilippe Ombredanne.How this work was done:Patches were generated and checked against linux-4.14-rc6 for a subset ofthe use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up caseswhere non-standard license headers were used, and references to licensehad to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied toa file was done in a spreadsheet of side by side results from of theoutput of two independent scanners (ScanCode &amp; Windriver) producing SPDXtag:value files created by Philippe Ombredanne.  Philippe prepared thebase worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 filesassessed.  Kate Stewart did a file by file comparison of the scannerresults in the spreadsheet to determine which SPDX license identifier(s)to be applied to the file. She confirmed any determination that was notimmediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained &gt;5   lines of source - File already had some variant of a license header in it (even if &lt;5   lines).All documentation files were explicitly excluded.The following heuristics were used to determine which SPDX licenseidentifiers to apply. - when both scanners couldn&apos;t find any license traces, file was   considered to have no license information in it, and the top level   COPYING file license applied.   For non */uapi/* files that summary was:   SPDX license identifier                            # files   ---------------------------------------------------|-------   GPL-2.0                                              11139   and resulted in the first patch in this series.   If that file was a */uapi/* path one, it was &quot;GPL-2.0 WITH   Linux-syscall-note&quot; otherwise it was &quot;GPL-2.0&quot;.  Results of that was:   SPDX license identifier                            # files   ---------------------------------------------------|-------   GPL-2.0 WITH Linux-syscall-note                        930   and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one   of the */uapi/* ones, it was denoted with the Linux-syscall-note if   any GPL family license was found in the file or had no licensing in   it (per prior point).  Results summary:   SPDX license identifier                            # files   ---------------------------------------------------|------   GPL-2.0 WITH Linux-syscall-note                       270   GPL-2.0+ WITH Linux-syscall-note                      169   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17   LGPL-2.1+ WITH Linux-syscall-note                      15   GPL-1.0+ WITH Linux-syscall-note                       14   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5   LGPL-2.0+ WITH Linux-syscall-note                       4   LGPL-2.1 WITH Linux-syscall-note                        3   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1   and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became   the concluded license(s). - when there was disagreement between the two scanners (one detected a   license but the other didn&apos;t, or they both detected different   licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file   resulted in a clear resolution of the license that should apply (and   which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was   confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier,   the file was flagged for further research and to be revisited later   in time.In total, over 70 hours of logged manual review was done on thespreadsheet to determine the SPDX license identifiers to apply to thesource files by Kate, Philippe, Thomas and, in some cases, confirmationby lawyers working with the Linux Foundation.Kate also obtained a third independent scan of the 4.13 code base fromFOSSology, and compared selected files where the other two scannersdisagreed against that SPDX file, to see if there was new insights.  TheWindriver scanner is based on an older version of FOSSology in part, sothey are related.Thomas did random spot checks in about 500 files from the spreadsheetsfor the uapi headers and agreed with SPDX license identifier in thefiles he inspected. For the non-uapi files Thomas did random spot checksin about 15000 files.In initial set of patches against 4.14-rc6, 3 files were found to havecopy/paste license identifier errors, and have been fixed to reflect thecorrect identifier.Additionally Philippe spent 10 hours this week doing a detailed manualinspection and review of the 12,461 patched files from the initial patchversion early this week with: - a full scancode scan run, collecting the matched texts, detected   license ids and scores - reviewing anything where there was a license detected (about 500+   files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied   SPDX license was correctThis produced a worksheet with 20 files needing minor correction.  Thisworksheet was then exported into 3 different .csv files for thedifferent types of files to be modified.These .csv files were then reviewed by Greg.  Thomas wrote a script toparse the csv files and add the proper SPDX tag to the file, in theformat that the file expected.  This script was further refined by Gregbased on the output to detect more types of files automatically and todistinguish between header and source .c files (which need differentcomment types.)  Finally Greg ran the script using the .csv files togenerate the patches.Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Reviewed-by: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Wed, 01 Nov 2017 14:07:57 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>e21b7a0b - block, bfq: add full hierarchical scheduling and cgroups support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#e21b7a0b</link>
        <description>block, bfq: add full hierarchical scheduling and cgroups supportAdd complete support for full hierarchical scheduling, with a cgroupsinterface. Full hierarchical scheduling is implemented through the&apos;entity&apos; abstraction: both bfq_queues, i.e., the internal BFQ queuesassociated with processes, and groups are represented in general byentities. Given the bfq_queues associated with the processes belongingto a given group, the entities representing these queues are sons ofthe entity representing the group. At higher levels, if a group, sayG, contains other groups, then the entity representing G is the parententity of the entities representing the groups in G.Hierarchical scheduling is performed as follows: if the timestamps ofa leaf entity (i.e., of a bfq_queue) change, and such a change letsthe entity become the next-to-serve entity for its parent entity, thenthe timestamps of the parent entity are recomputed as a function ofthe budget of its new next-to-serve leaf entity. If the parent entitybelongs, in its turn, to a group, and its new timestamps let it becomethe next-to-serve for its parent entity, then the timestamps of thelatter parent entity are recomputed as well, and so on. When a newbfq_queue must be set in service, the reverse path is followed: thenext-to-serve highest-level entity is chosen, then its next-to-servechild entity, and so on, until the next-to-serve leaf entity isreached, and the bfq_queue that this entity represents is set inservice.Writeback is accounted for on a per-group basis, i.e., for each group,the async I/O requests of the processes of the group are enqueued in adistinct bfq_queue, and the entity associated with this queue is achild of the entity associated with the group.Weights can be assigned explicitly to groups and processes through thecgroups interface, differently from what happens, for singleprocesses, if the cgroups interface is not used (as explained in thedescription of the previous patch). In particular, since each node hasa full scheduler, each group can be assigned its own weight.Signed-off-by: Fabio Checconi &lt;fchecconi@gmail.com&gt;Signed-off-by: Paolo Valente &lt;paolo.valente@linaro.org&gt;Signed-off-by: Arianna Avanzini &lt;avanzini.arianna@gmail.com&gt;Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Wed, 12 Apr 2017 16:23:08 +0000</pubDate>
        <dc:creator>Arianna Avanzini &lt;avanzini.arianna@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>aee69d78 - block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#aee69d78</link>
        <description>block, bfq: introduce the BFQ-v0 I/O scheduler as an extra schedulerWe tag as v0 the version of BFQ containing only BFQ&apos;s engine plushierarchical support. BFQ&apos;s engine is introduced by this commit, whilehierarchical support is added by next commit. We use the v0 tag todistinguish this minimal version of BFQ from the versions containingalso the features and the improvements added by next commits. BFQ-v0coincides with the version of BFQ submitted a few years ago [1], apartfrom the introduction of preemption, described below.BFQ is a proportional-share I/O scheduler, whose general structure,plus a lot of code, are borrowed from CFQ.- Each process doing I/O on a device is associated with a weight and a  (bfq_)queue.- BFQ grants exclusive access to the device, for a while, to one queue  (process) at a time, and implements this service model by  associating every queue with a budget, measured in number of  sectors.  - After a queue is granted access to the device, the budget of the    queue is decremented, on each request dispatch, by the size of the    request.  - The in-service queue is expired, i.e., its service is suspended,    only if one of the following events occurs: 1) the queue finishes    its budget, 2) the queue empties, 3) a &quot;budget timeout&quot; fires.    - The budget timeout prevents processes doing random I/O from      holding the device for too long and dramatically reducing      throughput.    - Actually, as in CFQ, a queue associated with a process issuing      sync requests may not be expired immediately when it empties. In      contrast, BFQ may idle the device for a short time interval,      giving the process the chance to go on being served if it issues      a new request in time. Device idling typically boosts the      throughput on rotational devices, if processes do synchronous      and sequential I/O. In addition, under BFQ, device idling is      also instrumental in guaranteeing the desired throughput      fraction to processes issuing sync requests (see [2] for      details).      - With respect to idling for service guarantees, if several        processes are competing for the device at the same time, but        all processes (and groups, after the following commit) have        the same weight, then BFQ guarantees the expected throughput        distribution without ever idling the device. Throughput is        thus as high as possible in this common scenario.  - Queues are scheduled according to a variant of WF2Q+, named    B-WF2Q+, and implemented using an augmented rb-tree to preserve an    O(log N) overall complexity.  See [2] for more details. B-WF2Q+ is    also ready for hierarchical scheduling. However, for a cleaner    logical breakdown, the code that enables and completes    hierarchical support is provided in the next commit, which focuses    exactly on this feature.  - B-WF2Q+ guarantees a tight deviation with respect to an ideal,    perfectly fair, and smooth service. In particular, B-WF2Q+    guarantees that each queue receives a fraction of the device    throughput proportional to its weight, even if the throughput    fluctuates, and regardless of: the device parameters, the current    workload and the budgets assigned to the queue.  - The last, budget-independence, property (although probably    counterintuitive in the first place) is definitely beneficial, for    the following reasons:    - First, with any proportional-share scheduler, the maximum      deviation with respect to an ideal service is proportional to      the maximum budget (slice) assigned to queues. As a consequence,      BFQ can keep this deviation tight not only because of the      accurate service of B-WF2Q+, but also because BFQ *does not*      need to assign a larger budget to a queue to let the queue      receive a higher fraction of the device throughput.    - Second, BFQ is free to choose, for every process (queue), the      budget that best fits the needs of the process, or best      leverages the I/O pattern of the process. In particular, BFQ      updates queue budgets with a simple feedback-loop algorithm that      allows a high throughput to be achieved, while still providing      tight latency guarantees to time-sensitive applications. When      the in-service queue expires, this algorithm computes the next      budget of the queue so as to:      - Let large budgets be eventually assigned to the queues        associated with I/O-bound applications performing sequential        I/O: in fact, the longer these applications are served once        got access to the device, the higher the throughput is.      - Let small budgets be eventually assigned to the queues        associated with time-sensitive applications (which typically        perform sporadic and short I/O), because, the smaller the        budget assigned to a queue waiting for service is, the sooner        B-WF2Q+ will serve that queue (Subsec 3.3 in [2]).- Weights can be assigned to processes only indirectly, through I/O  priorities, and according to the relation:  weight = 10 * (IOPRIO_BE_NR - ioprio).  The next patch provides, instead, a cgroups interface through which  weights can be assigned explicitly.- If several processes are competing for the device at the same time,  but all processes and groups have the same weight, then BFQ  guarantees the expected throughput distribution without ever idling  the device. It uses preemption instead. Throughput is then much  higher in this common scenario.- ioprio classes are served in strict priority order, i.e.,  lower-priority queues are not served as long as there are  higher-priority queues.  Among queues in the same class, the  bandwidth is distributed in proportion to the weight of each  queue. A very thin extra bandwidth is however guaranteed to the Idle  class, to prevent it from starving.- If the strict_guarantees parameter is set (default: unset), then BFQ     - always performs idling when the in-service queue becomes empty;     - forces the device to serve one I/O request at a time, by       dispatching a new request only if there is no outstanding       request.  In the presence of differentiated weights or I/O-request sizes,  both the above conditions are needed to guarantee that every  queue receives its allotted share of the bandwidth (see  Documentation/block/bfq-iosched.txt for more details). Setting  strict_guarantees may evidently affect throughput.[1] https://lkml.org/lkml/2008/4/1/234    https://lkml.org/lkml/2008/11/11/148[2] P. Valente and M. Andreolini, &quot;Improving Application    Responsiveness with the BFQ Disk I/O Scheduler&quot;, Proceedings of    the 5th Annual International Systems and Storage Conference    (SYSTOR &apos;12), June 2012.    Slightly extended version:    http://algogroup.unimore.it/people/paolo/disk_sched/bfq-v1-suite-							results.pdfSigned-off-by: Fabio Checconi &lt;fchecconi@gmail.com&gt;Signed-off-by: Paolo Valente &lt;paolo.valente@linaro.org&gt;Signed-off-by: Arianna Avanzini &lt;avanzini.arianna@gmail.com&gt;Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Wed, 19 Apr 2017 14:29:02 +0000</pubDate>
        <dc:creator>Paolo Valente &lt;paolo.valente@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>00e04393 - blk-mq: introduce Kyber multiqueue I/O scheduler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#00e04393</link>
        <description>blk-mq: introduce Kyber multiqueue I/O schedulerThe Kyber I/O scheduler is an I/O scheduler for fast devices designed toscale to multiple queues. Users configure only two knobs, the targetread and synchronous write latencies, and the scheduler tunes itself toachieve that latency goal.The implementation is based on &quot;tokens&quot;, built on top of the scalablebitmap library. Tokens serve as a mechanism for limiting requests. Thereare two tiers of tokens: queueing tokens and dispatch tokens.A queueing token is required to allocate a request. In fact, thesetokens are actually the blk-mq internal scheduler tags, but thescheduler manages the allocation directly in order to implement itspolicy.Dispatch tokens are device-wide and split up into two schedulingdomains: reads vs. writes. Each hardware queue dispatches batchesround-robin between the scheduling domains as long as tokens areavailable for that domain.These tokens can be used as the mechanism to enable various policies.The policy Kyber uses is inspired by active queue management techniquesfor network routing, similar to blk-wbt. The scheduler monitorslatencies and scales the number of dispatch tokens accordingly. Queueingtokens are used to prevent starvation of synchronous requests byasynchronous requests.Various extensions are possible, including better heuristics and ionicesupport. The new scheduler isn&apos;t set as the default yet.Signed-off-by: Omar Sandoval &lt;osandov@fb.com&gt;Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Fri, 14 Apr 2017 08:00:02 +0000</pubDate>
        <dc:creator>Omar Sandoval &lt;osandov@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>b86dd815 - block: get rid of blk-mq default scheduler choice Kconfig entries</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#b86dd815</link>
        <description>block: get rid of blk-mq default scheduler choice Kconfig entriesThe wording in the entries were poor and not understandableby even deities. Kill the selection for default block scheduler,and impose a policy with sane defaults.Architected-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Reviewed-by: Omar Sandoval &lt;osandov@fb.com&gt;Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Wed, 22 Feb 2017 20:19:45 +0000</pubDate>
        <dc:creator>Jens Axboe &lt;axboe@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>d3484991 - blk-mq-sched: allow setting of default IO scheduler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#d3484991</link>
        <description>blk-mq-sched: allow setting of default IO schedulerAdd Kconfig entries to manage what devices get assigned an MQscheduler, and add a blk-mq flag for drivers to opt out of scheduling.The latter is useful for admin type queues that still allocate a blk-mqqueue and tag set, but aren&apos;t use for normal IO.Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;Reviewed-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;Reviewed-by: Omar Sandoval &lt;osandov@fb.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Fri, 13 Jan 2017 21:43:58 +0000</pubDate>
        <dc:creator>Jens Axboe &lt;axboe@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>945ffb60 - mq-deadline: add blk-mq adaptation of the deadline IO scheduler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#945ffb60</link>
        <description>mq-deadline: add blk-mq adaptation of the deadline IO schedulerThis is basically identical to deadline-iosched, except it registersas a MQ capable scheduler. This is still a single queue design.Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;Reviewed-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;Reviewed-by: Omar Sandoval &lt;osandov@fb.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Sun, 15 Jan 2017 00:11:11 +0000</pubDate>
        <dc:creator>Jens Axboe &lt;axboe@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>32e380ae - blkcg: make CONFIG_BLK_CGROUP bool</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#32e380ae</link>
        <description>blkcg: make CONFIG_BLK_CGROUP boolBlock cgroup core can be built as module; however, it isn&apos;t too usefulas blk-throttle can only be built-in and cfq-iosched is usually thedefault built-in scheduler.  Scheduled blkcg cleanup requires callinginto blkcg from block core.  To simplify that, disallow building blkcgas module by making CONFIG_BLK_CGROUP bool.If building blkcg core as module really matters, which I doubt, we canrevisit it after blkcg API cleanup.-v2: Vivek pointed out that IOSCHED_CFQ was incorrectly updated to     depend on BLK_CGROUP.  Fixed.Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;Cc: Vivek Goyal &lt;vgoyal@redhat.com&gt;Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Mon, 05 Mar 2012 21:14:54 +0000</pubDate>
        <dc:creator>Tejun Heo &lt;tj@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>afc24d49 - blk-cgroup: config options re-arrangement</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/block/Kconfig.iosched#afc24d49</link>
        <description>blk-cgroup: config options re-arrangementThis patch fixes few usability and configurability issues.o All the cgroup based controller options are configurable from  &quot;Genral Setup/Control Group Support/&quot; menu. blkio is the only exception.  Hence make this option visible in above menu and make it configurable from  there to bring it inline with rest of the cgroup based controllers.o Get rid of CONFIG_DEBUG_CFQ_IOSCHED.  This option currently does two things.  - Enable printing of cgroup paths in blktrace  - Enables CONFIG_DEBUG_BLK_CGROUP, which in turn displays additional stat    files in cgroup.  If we are using group scheduling, blktrace data is of not really much use  if cgroup information is not present. To get this data, currently one has to  also enable CONFIG_DEBUG_CFQ_IOSCHED, which in turn brings the overhead of  all the additional debug stat files which is not desired.  Hence, this patch moves printing of cgroup paths under  CONFIG_CFQ_GROUP_IOSCHED.  This allows us to get rid of CONFIG_DEBUG_CFQ_IOSCHED completely. Now all  the debug stat files are controlled only by CONFIG_DEBUG_BLK_CGROUP which  can be enabled through config menu.Signed-off-by: Vivek Goyal &lt;vgoyal@redhat.com&gt;Acked-by: Divyesh Shah &lt;dpshah@google.com&gt;Reviewed-by: Gui Jianfeng &lt;guijianfeng@cn.fujitsu.com&gt;Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;

            List of files:
            /linux-6.15/block/Kconfig.iosched</description>
        <pubDate>Mon, 26 Apr 2010 17:27:56 +0000</pubDate>
        <dc:creator>Vivek Goyal &lt;vgoyal@redhat.com&gt;</dc:creator>
    </item>
</channel>
</rss>
