2021-05-19 19:23:27

by Juerg Haefliger

[permalink] [raw]
Subject: [PATCH v2 0/3] block: Cleanup Kconfigs

Move BLK_CGROUP from init/Kconfig to block/Kconfig per Christoph Hellwig's
request and cleanup various whitespace issues:
- Replace multi spaces with a tab
- Make the help text indentation 1 tab + 2 spaces

v2:
- Move BLK_CGROUP from init/ to block/.
- Cleanup the other block Kconfig files.

v1: https://lore.kernel.org/lkml/[email protected]/

Juerg Haefliger (3):
init/Kconfig: Move BLK_CGROUP to block/Kconfig
block/Kconfig: Whitespace and indentation cleanups
block/Kconfig.iosched: Whitespace and indentation cleanups

block/Kconfig | 155 ++++++++++++++++++++++++------------------
block/Kconfig.iosched | 27 ++++----
init/Kconfig | 22 ------
3 files changed, 102 insertions(+), 102 deletions(-)

--
2.27.0



2021-05-19 19:23:28

by Juerg Haefliger

[permalink] [raw]
Subject: [PATCH v2 1/3] init/Kconfig: Move BLK_CGROUP to block/Kconfig

While at it, make the option prompt more descriptive and fix the help
text indentation to be 1 tab + 2 spaces.

Signed-off-by: Juerg Haefliger <[email protected]>
---
block/Kconfig | 23 +++++++++++++++++++++++
init/Kconfig | 22 ----------------------
2 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/block/Kconfig b/block/Kconfig
index a2297edfdde8..fbc4cf1a2075 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -202,6 +202,29 @@ config BLK_INLINE_ENCRYPTION_FALLBACK
by falling back to the kernel crypto API when inline
encryption hardware is not present.

+config BLK_CGROUP
+ bool "Enable block IO cgroup controller"
+ depends on CGROUPS
+ default n
+ help
+ Generic block IO controller cgroup interface. This is the common
+ cgroup interface which should be used by various IO controlling
+ policies.
+
+ Currently, CFQ IO scheduler uses it to recognize task groups and
+ control disk bandwidth allocation (proportional time slice allocation)
+ to such task groups. It is also used by bio throttling logic in
+ block layer to implement upper limit in IO rates on a device.
+
+ This option only enables generic Block IO controller infrastructure.
+ One needs to also enable actual IO controlling logic/policy. For
+ enabling proportional weight division of disk bandwidth in CFQ, set
+ CONFIG_BFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
+ CONFIG_BLK_DEV_THROTTLING=y.
+
+ See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more
+ information.
+
menu "Partition Types"

source "block/partitions/Kconfig"
diff --git a/init/Kconfig b/init/Kconfig
index 1ea12c64e4c9..5be10c091603 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -921,28 +921,6 @@ config MEMCG_KMEM
depends on MEMCG && !SLOB
default y

-config BLK_CGROUP
- bool "IO controller"
- depends on BLOCK
- default n
- help
- Generic block IO controller cgroup interface. This is the common
- cgroup interface which should be used by various IO controlling
- policies.
-
- Currently, CFQ IO scheduler uses it to recognize task groups and
- control disk bandwidth allocation (proportional time slice allocation)
- to such task groups. It is also used by bio throttling logic in
- block layer to implement upper limit in IO rates on a device.
-
- This option only enables generic Block IO controller infrastructure.
- One needs to also enable actual IO controlling logic/policy. For
- enabling proportional weight division of disk bandwidth in CFQ, set
- CONFIG_BFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
- CONFIG_BLK_DEV_THROTTLING=y.
-
- See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
-
config CGROUP_WRITEBACK
bool
depends on MEMCG && BLK_CGROUP
--
2.27.0


2021-05-19 19:23:32

by Juerg Haefliger

[permalink] [raw]
Subject: [PATCH v2 3/3] block/Kconfig.iosched: Whitespace and indentation cleanups

Replace multiple whitespaces with a tab and make the help text indendation
1 tab + 2 spaces which seems to be the convention.

Signed-off-by: Juerg Haefliger <[email protected]>
---
block/Kconfig.iosched | 27 +++++++++++++--------------
1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
index 2f2158e05a91..57939e7e1ff3 100644
--- a/block/Kconfig.iosched
+++ b/block/Kconfig.iosched
@@ -21,28 +21,27 @@ config MQ_IOSCHED_KYBER
config IOSCHED_BFQ
tristate "BFQ I/O scheduler"
help
- BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
- of the device among all processes according to their weights,
- regardless of the device parameters and with any workload. It
- also guarantees a low latency to interactive and soft
- real-time applications. Details in
- Documentation/block/bfq-iosched.rst
+ BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
+ of the device among all processes according to their weights,
+ regardless of the device parameters and with any workload. It
+ also guarantees a low latency to interactive and soft
+ real-time applications. Details in
+ Documentation/block/bfq-iosched.rst

config BFQ_GROUP_IOSCHED
- bool "BFQ hierarchical scheduling support"
- depends on IOSCHED_BFQ && BLK_CGROUP
- select BLK_CGROUP_RWSTAT
+ bool "BFQ hierarchical scheduling support"
+ depends on IOSCHED_BFQ && BLK_CGROUP
+ select BLK_CGROUP_RWSTAT
help
-
- Enable hierarchical scheduling in BFQ, using the blkio
- (cgroups-v1) or io (cgroups-v2) controller.
+ Enable hierarchical scheduling in BFQ, using the blkio
+ (cgroups-v1) or io (cgroups-v2) controller.

config BFQ_CGROUP_DEBUG
bool "BFQ IO controller debugging"
depends on BFQ_GROUP_IOSCHED
help
- Enable some debugging help. Currently it exports additional stat
- files in a cgroup which can be useful for debugging.
+ Enable some debugging help. Currently it exports additional stat
+ files in a cgroup which can be useful for debugging.

endmenu

--
2.27.0


2021-05-19 19:23:32

by Juerg Haefliger

[permalink] [raw]
Subject: [PATCH v2 2/3] block/Kconfig: Whitespace and indentation cleanups

Replace multiple whitespaces with a tab and make the help text indendation
1 tab + 2 spaces which seems to be the convention.

Signed-off-by: Juerg Haefliger <[email protected]>
---
block/Kconfig | 132 +++++++++++++++++++++++++-------------------------
1 file changed, 66 insertions(+), 66 deletions(-)

diff --git a/block/Kconfig b/block/Kconfig
index fbc4cf1a2075..89478184f9f1 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -3,26 +3,26 @@
# Block layer core configuration
#
menuconfig BLOCK
- bool "Enable the block layer" if EXPERT
- default y
- select SBITMAP
- select SRCU
- help
- Provide block layer support for the kernel.
+ bool "Enable the block layer" if EXPERT
+ default y
+ select SBITMAP
+ select SRCU
+ help
+ Provide block layer support for the kernel.

- Disable this option to remove the block layer support from the
- kernel. This may be useful for embedded devices.
+ Disable this option to remove the block layer support from the
+ kernel. This may be useful for embedded devices.

- If this option is disabled:
+ If this option is disabled:

- - block device files will become unusable
- - some filesystems (such as ext3) will become unavailable.
+ - block device files will become unusable
+ - some filesystems (such as ext3) will become unavailable.

- Also, SCSI character devices and USB storage will be disabled since
- they make use of various block layer definitions and facilities.
+ Also, SCSI character devices and USB storage will be disabled since
+ they make use of various block layer definitions and facilities.

- Say Y here unless you know you really don't want to mount disks and
- suchlike.
+ Say Y here unless you know you really don't want to mount disks and
+ suchlike.

if BLOCK

@@ -67,14 +67,14 @@ config BLK_DEV_BSGLIB
config BLK_DEV_INTEGRITY
bool "Block layer data integrity support"
help
- Some storage devices allow extra information to be
- stored/retrieved to help protect the data. The block layer
- data integrity option provides hooks which can be used by
- filesystems to ensure better data integrity.
+ Some storage devices allow extra information to be
+ stored/retrieved to help protect the data. The block layer
+ data integrity option provides hooks which can be used by
+ filesystems to ensure better data integrity.

- Say yes here if you have a storage device that provides the
- T10/SCSI Data Integrity Field or the T13/ATA External Path
- Protection. If in doubt, say N.
+ Say yes here if you have a storage device that provides the
+ T10/SCSI Data Integrity Field or the T13/ATA External Path
+ Protection. If in doubt, say N.

config BLK_DEV_INTEGRITY_T10
tristate
@@ -85,64 +85,64 @@ config BLK_DEV_ZONED
bool "Zoned block device support"
select MQ_IOSCHED_DEADLINE
help
- Block layer zoned block device support. This option enables
- support for ZAC/ZBC/ZNS host-managed and host-aware zoned block
- devices.
+ Block layer zoned block device support. This option enables
+ support for ZAC/ZBC/ZNS host-managed and host-aware zoned block
+ devices.

- Say yes here if you have a ZAC, ZBC, or ZNS storage device.
+ Say yes here if you have a ZAC, ZBC, or ZNS storage device.

config BLK_DEV_THROTTLING
bool "Block layer bio throttling support"
depends on BLK_CGROUP=y
select BLK_CGROUP_RWSTAT
help
- Block layer bio throttling support. It can be used to limit
- the IO rate to a device. IO rate policies are per cgroup and
- one needs to mount and use blkio cgroup controller for creating
- cgroups and specifying per device IO rate policies.
+ Block layer bio throttling support. It can be used to limit
+ the IO rate to a device. IO rate policies are per cgroup and
+ one needs to mount and use blkio cgroup controller for creating
+ cgroups and specifying per device IO rate policies.

- See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
+ See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.

config BLK_DEV_THROTTLING_LOW
bool "Block throttling .low limit interface support (EXPERIMENTAL)"
depends on BLK_DEV_THROTTLING
help
- Add .low limit interface for block throttling. The low limit is a best
- effort limit to prioritize cgroups. Depending on the setting, the limit
- can be used to protect cgroups in terms of bandwidth/iops and better
- utilize disk resource.
+ Add .low limit interface for block throttling. The low limit is a best
+ effort limit to prioritize cgroups. Depending on the setting, the limit
+ can be used to protect cgroups in terms of bandwidth/iops and better
+ utilize disk resource.

- Note, this is an experimental interface and could be changed someday.
+ Note, this is an experimental interface and could be changed someday.

config BLK_CMDLINE_PARSER
bool "Block device command line partition parser"
help
- Enabling this option allows you to specify the partition layout from
- the kernel boot args. This is typically of use for embedded devices
- which don't otherwise have any standardized method for listing the
- partitions on a block device.
+ Enabling this option allows you to specify the partition layout from
+ the kernel boot args. This is typically of use for embedded devices
+ which don't otherwise have any standardized method for listing the
+ partitions on a block device.

- See Documentation/block/cmdline-partition.rst for more information.
+ See Documentation/block/cmdline-partition.rst for more information.

config BLK_WBT
bool "Enable support for block device writeback throttling"
help
- Enabling this option enables the block layer to throttle buffered
- background writeback from the VM, making it more smooth and having
- less impact on foreground operations. The throttling is done
- dynamically on an algorithm loosely based on CoDel, factoring in
- the realtime performance of the disk.
+ Enabling this option enables the block layer to throttle buffered
+ background writeback from the VM, making it more smooth and having
+ less impact on foreground operations. The throttling is done
+ dynamically on an algorithm loosely based on CoDel, factoring in
+ the realtime performance of the disk.

config BLK_CGROUP_IOLATENCY
bool "Enable support for latency based cgroup IO protection"
depends on BLK_CGROUP=y
help
- Enabling this option enables the .latency interface for IO throttling.
- The IO controller will attempt to maintain average IO latencies below
- the configured latency target, throttling anybody with a higher latency
- target than the victimized group.
+ Enabling this option enables the .latency interface for IO throttling.
+ The IO controller will attempt to maintain average IO latencies below
+ the configured latency target, throttling anybody with a higher latency
+ target than the victimized group.

- Note, this is an experimental interface and could be changed someday.
+ Note, this is an experimental interface and could be changed someday.

config BLK_CGROUP_IOCOST
bool "Enable support for cost model based cgroup IO controller"
@@ -150,40 +150,40 @@ config BLK_CGROUP_IOCOST
select BLK_RQ_IO_DATA_LEN
select BLK_RQ_ALLOC_TIME
help
- Enabling this option enables the .weight interface for cost
- model based proportional IO control. The IO controller
- distributes IO capacity between different groups based on
- their share of the overall weight distribution.
+ Enabling this option enables the .weight interface for cost
+ model based proportional IO control. The IO controller
+ distributes IO capacity between different groups based on
+ their share of the overall weight distribution.

config BLK_WBT_MQ
bool "Multiqueue writeback throttling"
default y
depends on BLK_WBT
help
- Enable writeback throttling by default on multiqueue devices.
+ Enable writeback throttling by default on multiqueue devices.

config BLK_DEBUG_FS
bool "Block layer debugging information in debugfs"
default y
depends on DEBUG_FS
help
- Include block layer debugging information in debugfs. This information
- is mostly useful for kernel developers, but it doesn't incur any cost
- at runtime.
+ Include block layer debugging information in debugfs. This information
+ is mostly useful for kernel developers, but it doesn't incur any cost
+ at runtime.

- Unless you are building a kernel for a tiny system, you should
- say Y here.
+ Unless you are building a kernel for a tiny system, you should
+ say Y here.

config BLK_DEBUG_FS_ZONED
- bool
- default BLK_DEBUG_FS && BLK_DEV_ZONED
+ bool
+ default BLK_DEBUG_FS && BLK_DEV_ZONED

config BLK_SED_OPAL
bool "Logic for interfacing with Opal enabled SEDs"
help
- Builds Logic for interfacing with Opal enabled controllers.
- Enabling this option enables users to setup/unlock/lock
- Locking ranges for SED devices using the Opal protocol.
+ Builds Logic for interfacing with Opal enabled controllers.
+ Enabling this option enables users to setup/unlock/lock
+ Locking ranges for SED devices using the Opal protocol.

config BLK_INLINE_ENCRYPTION
bool "Enable inline encryption support in block layer"
--
2.27.0


2021-05-19 19:24:17

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] block/Kconfig.iosched: Whitespace and indentation cleanups

On Wed, May 19, 2021 at 10:56:15AM +0200, Juerg Haefliger wrote:
> Replace multiple whitespaces with a tab and make the help text indendation
> 1 tab + 2 spaces which seems to be the convention.
>
> Signed-off-by: Juerg Haefliger <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>

2021-05-19 19:24:52

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] init/Kconfig: Move BLK_CGROUP to block/Kconfig

On Wed, May 19, 2021 at 10:56:13AM +0200, Juerg Haefliger wrote:
> While at it, make the option prompt more descriptive and fix the help
> text indentation to be 1 tab + 2 spaces.
>
> Signed-off-by: Juerg Haefliger <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>

2021-05-19 19:25:40

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] block/Kconfig: Whitespace and indentation cleanups

On Wed, May 19, 2021 at 10:56:14AM +0200, Juerg Haefliger wrote:
> Replace multiple whitespaces with a tab and make the help text indendation
> 1 tab + 2 spaces which seems to be the convention.
>
> Signed-off-by: Juerg Haefliger <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>