Добавлено ядро 3.18, конфиги ядра, патчи для bfq

atratsevskiy
Mike Khiretskiy 10 years ago
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

@ -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

@ -1,6 +1,7 @@
DIST linux-3.12.tar.xz 76384600 SHA256 2e120ec7fde19fa51dc6b6cc11c81860a0775defcad5a5bf910ed9a50e845a02 SHA512 4ba5797e0772726d05c9f2eee66dc6dc2a5033c749ef44764c805a83da739ed5d0c6443b76785e38fe1ef74cc7ade787e48144faed0cfcb6f124f05248c700ff WHIRLPOOL a40195f6b53ba3440cf90a44495f6a59670f750851d1518e2bdfe3b949f0e898d1df5d37e271c31c555087026ddb6cc2c9109b22b9639e3222735e6f650a1417
DIST linux-3.14.tar.xz 78399152 SHA256 61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa SHA512 5730d83a7a81134c1e77c0bf89e42dee4f8251ad56c1ac2be20c59e26fdfaa7bea55f277e7af156b637f22e1584914a46089af85039177cb43485089c74ac26e WHIRLPOOL 5ad07b78c362ba0b21c50b4abb99407cae06bd08576f3fd8f36047b01409eba096263208020da3dcad4977eefc61d66502276754097bc127635df1d7a5817d41
DIST linux-3.17.tar.xz 80333152 SHA256 f5153ec93c5fcd41b247950e6a9bcbc63fa87beafd112c133a622439a0f76251 SHA512 29c99764e371f7005dbbe2bbe4458b4deeae5297da7e5b719b0f29f6f018629338b608369162ae6bd76bec4d8719cf491257ac57fdd5277cce8941b7f90246a0 WHIRLPOOL 4b0ba9d997f28a317991287160c91c4e4f2245d7e08c7cb9691f67c3838bddb3ab8048b01e841e6659eceb94a269b6bde32f4ca521d999593d0e9473c8559b46
DIST linux-3.18.tar.xz 80934708 SHA256 becc413cc9e6d7f5cc52a3ce66d65c3725bc1d1cc1001f4ce6c32b69eb188cbd SHA512 2f0b72466e9bc538a675738aa416573d41bbbd7e3e2ffd5b5b127afde609ebc278cec5a3c37e73479607e957c13f1b4ed9782a3795e0dcc2cf8e550228594009 WHIRLPOOL 81634af631b7d30ccd1f4798f96f44d9aa0ba6609b73f2747eb6aebaf7a99487fb2dbd45767605186182533cb222bfd9236e8dd5e11a04fdb67c211e4e0a91d6
DIST patch-3.12.34.xz 1001352 SHA256 6d15d6a761c54af9a258123eacc2679f25daed651adaf3bfe65389760e24ce0e SHA512 dd124b98693c89b3f5067921af097610151166e751017157eb701c482715647dd06e209387f14137cf4ff0259b724060e17040c4d79ee941a7a1724c91aefc75 WHIRLPOOL a45398d9424d63f3c21aec1b95460422f401c85f7005f132b1ac65e65c2d12b53705ebdd48de44c7a67244877ab2bf2b4685ae2719da84accddbba8f10081907
DIST patch-3.14.25.xz 649380 SHA256 c1a13dbaaabc0fe1330c7e0f0f6e10fbf7d384ccf7f1d15061fec4602233b142 SHA512 0ba7ac8b4bc56115d2d88258573f334cb6d1dd7d302f24ae12c1ed693fc3a568801ffa75719ac7622dedf6673e6db6827bf31066b8afde97bc36d8c897e8cfa8 WHIRLPOOL aa41dae885b99955d7cff1116d4ce33b1f1286ebc98c809efa8a978659e69b009b348f4e6b4fd4767e0816d342088c5ba0ff78eead9c35eb63c07301769e3778
DIST patch-3.14.26.xz 666072 SHA256 18a5f194acd519c0da5c208172874d8e3a48cfedb9126b381d168ffdf0a357b1 SHA512 dffc53bb779f1fd9a9836c148e14394e6498bcaac7dfc2f712e725dfbc56b39702fffa20ef06d7abe418c8d118876ead7e8fc9c21ca990a61f0f10bcefbba749 WHIRLPOOL 67b2169db9633fdd91bee6b8bfa56f089bd4a7d6d7a06c44405e09e08bea4f0c9f5979ae40e7dd2d8322465a8947f0c503251434946746ae86cc423efa485ade

@ -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…
Cancel
Save