parent
eedbefb37e
commit
8223a844e4
@ -0,0 +1 @@
|
||||
# Calculate append=skip merge(sys-kernel/calculate-sources)>=3.17&&merge(sys-kernel/calculate-sources)<3.18
|
@ -0,0 +1,105 @@
|
||||
# Calculate format=diff os_linux_system==desktop
|
||||
From 419f79b0ff5a322c1d0d88a687a207f948c6b2ee Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Valente <paolo.valente@unimore.it>
|
||||
Date: Mon, 8 Dec 2014 16:04:25 +0100
|
||||
Subject: [PATCH 1/3] block: cgroups, kconfig, build bits for BFQ-v7r6-3.18
|
||||
|
||||
Update Kconfig.iosched and do the related Makefile changes to include
|
||||
kernel configuration options for BFQ. Also add the bfqio controller
|
||||
to the cgroups subsystem.
|
||||
|
||||
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
|
||||
Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>
|
||||
---
|
||||
block/Kconfig.iosched | 32 ++++++++++++++++++++++++++++++++
|
||||
block/Makefile | 1 +
|
||||
include/linux/cgroup_subsys.h | 4 ++++
|
||||
3 files changed, 37 insertions(+)
|
||||
|
||||
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
|
||||
index 421bef9..0ee5f0f 100644
|
||||
--- a/block/Kconfig.iosched
|
||||
+++ b/block/Kconfig.iosched
|
||||
@@ -39,6 +39,27 @@ config CFQ_GROUP_IOSCHED
|
||||
---help---
|
||||
Enable group IO scheduling in CFQ.
|
||||
|
||||
+config IOSCHED_BFQ
|
||||
+ tristate "BFQ I/O scheduler"
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ The BFQ I/O scheduler tries to distribute bandwidth among
|
||||
+ all processes according to their weights.
|
||||
+ It aims at distributing the bandwidth as desired, independently of
|
||||
+ the disk parameters and with any workload. It also tries to
|
||||
+ guarantee low latency to interactive and soft real-time
|
||||
+ applications. If compiled built-in (saying Y here), BFQ can
|
||||
+ be configured to support hierarchical scheduling.
|
||||
+
|
||||
+config CGROUP_BFQIO
|
||||
+ bool "BFQ hierarchical scheduling support"
|
||||
+ depends on CGROUPS && IOSCHED_BFQ=y
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Enable hierarchical scheduling in BFQ, using the cgroups
|
||||
+ filesystem interface. The name of the subsystem will be
|
||||
+ bfqio.
|
||||
+
|
||||
choice
|
||||
prompt "Default I/O scheduler"
|
||||
default DEFAULT_CFQ
|
||||
@@ -52,6 +73,16 @@ choice
|
||||
config DEFAULT_CFQ
|
||||
bool "CFQ" if IOSCHED_CFQ=y
|
||||
|
||||
+ config DEFAULT_BFQ
|
||||
+ bool "BFQ" if IOSCHED_BFQ=y
|
||||
+ help
|
||||
+ Selects BFQ as the default I/O scheduler which will be
|
||||
+ used by default for all block devices.
|
||||
+ The BFQ I/O scheduler aims at distributing the bandwidth
|
||||
+ as desired, independently of the disk parameters and with
|
||||
+ any workload. It also tries to guarantee low latency to
|
||||
+ interactive and soft real-time applications.
|
||||
+
|
||||
config DEFAULT_NOOP
|
||||
bool "No-op"
|
||||
|
||||
@@ -61,6 +92,7 @@ config DEFAULT_IOSCHED
|
||||
string
|
||||
default "deadline" if DEFAULT_DEADLINE
|
||||
default "cfq" if DEFAULT_CFQ
|
||||
+ default "bfq" if DEFAULT_BFQ
|
||||
default "noop" if DEFAULT_NOOP
|
||||
|
||||
endmenu
|
||||
diff --git a/block/Makefile b/block/Makefile
|
||||
index 00ecc97..1ed86d5 100644
|
||||
--- a/block/Makefile
|
||||
+++ b/block/Makefile
|
||||
@@ -18,6 +18,7 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
|
||||
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
|
||||
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
|
||||
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
|
||||
+obj-$(CONFIG_IOSCHED_BFQ) += bfq-iosched.o
|
||||
|
||||
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
|
||||
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
|
||||
diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h
|
||||
index 98c4f9b..13b010d 100644
|
||||
--- a/include/linux/cgroup_subsys.h
|
||||
+++ b/include/linux/cgroup_subsys.h
|
||||
@@ -35,6 +35,10 @@ SUBSYS(net_cls)
|
||||
SUBSYS(blkio)
|
||||
#endif
|
||||
|
||||
+#if IS_ENABLED(CONFIG_CGROUP_BFQIO)
|
||||
+SUBSYS(bfqio)
|
||||
+#endif
|
||||
+
|
||||
#if IS_ENABLED(CONFIG_CGROUP_PERF)
|
||||
SUBSYS(perf_event)
|
||||
#endif
|
||||
--
|
||||
2.1.3
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,17 @@
|
||||
# Calculate format=openrc name=.config os_linux_system==server
|
||||
CONFIG_TREE_RCU=y
|
||||
CONFIG_TREE_PREEMPT_RCU=n
|
||||
CONFIG_PREEMPT_RCU=n
|
||||
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
|
||||
CONFIG_INLINE_READ_UNLOCK=y
|
||||
CONFIG_INLINE_READ_UNLOCK_IRQ=y
|
||||
CONFIG_INLINE_WRITE_UNLOCK=y
|
||||
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_PREEMPT=n
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_HZ=1000
|
||||
CONFIG_HZ_1000=n
|
||||
CONFIG_INPUT_JOYSTICK=n
|
||||
CONFIG_INPUT_TABLET=n
|
||||
CONFIG_DRM_I810=n
|
@ -0,0 +1,4 @@
|
||||
# Calculate format=openrc os_linux_system==desktop name=.config
|
||||
CONFIG_IOSCHED_BFQ=y
|
||||
CONFIG_CGROUP_BFQIO=y
|
||||
CONFIG_DEFAULT_BFQ=n
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=4
|
||||
ETYPE="sources"
|
||||
|
||||
inherit calculate-kernel-6 eutils
|
||||
|
||||
DESCRIPTION="Calculate Linux kernel image"
|
||||
KEYWORDS=""
|
||||
HOMEPAGE="http://www.calculate-linux.org"
|
||||
|
||||
IUSE="plymouth themes firmware"
|
||||
|
||||
DEPEND="vmlinuz? ( || ( app-arch/xz-utils app-arch/lzma-utils )
|
||||
sys-apps/v86d
|
||||
sys-boot/grub
|
||||
)
|
||||
firmware? ( sys-kernel/linux-firmware )
|
||||
themes? ( media-gfx/plymouth-themes-calculate )
|
||||
plymouth? ( sys-boot/plymouth sys-boot/plymouth-openrc-plugin )
|
||||
"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
SRC_URI="${KERNEL_URI} ${ARCH_URI}"
|
||||
|
||||
src_unpack() {
|
||||
calculate-kernel-6_src_unpack
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
calculate-kernel-6_pkg_postinst
|
||||
}
|
Loading…
Reference in new issue