Updated to 4.10.x (4.10.4 atm), the first take

While at it, made the configs a bit closer to those from Ubuntu:
* disabled IDE drivers which are now barely maintained anyway;
* disabled some debugging facilities (verboseness of some drivers,
  etc.);
* made some often used modules like vfat, fuse, ata_piix, etc.,
  built-in.
* and so forth.
This commit is contained in:
Evgenii Shatokhin 2017-03-19 16:56:31 +03:00
parent 8fca6a536d
commit e8471b42b2
17 changed files with 2481 additions and 2122 deletions

View file

@ -1,3 +1,3 @@
sources: sources:
linux-4.9.tar.xz: fa46da077c077467776cdc45a7b50d327a081ab4 linux-4.10.tar.xz: 1375424721130e93dd6f723537a4db9039a02643
patch-4.9.14.xz: dca0d0a4a199cf48d88c7e4d933d730527277280 patch-4.10.4.xz: 926809018844f59b3f0dd943a90f0cd4ac657410

View file

@ -1,7 +1,7 @@
From 465ed48c05de63f5bdd34d83915f1b8998a62134 Mon Sep 17 00:00:00 2001 From 8500f47272575b4616beb487c483019248d8c501 Mon Sep 17 00:00:00 2001
From: Paolo Valente <paolo.valente@unimore.it> From: Paolo Valente <paolo.valente@unimore.it>
Date: Tue, 7 Apr 2015 13:39:12 +0200 Date: Tue, 7 Apr 2015 13:39:12 +0200
Subject: [PATCH 1/4] block: cgroups, kconfig, build bits for BFQ-v7r11-4.5.0 Subject: [PATCH 1/4] block: cgroups, kconfig, build bits for BFQ-v7r11-4.10.0
Update Kconfig.iosched and do the related Makefile changes to include Update Kconfig.iosched and do the related Makefile changes to include
kernel configuration options for BFQ. Also increase the number of kernel configuration options for BFQ. Also increase the number of
@ -74,7 +74,7 @@ index 421bef9..0ee5f0f 100644
endmenu endmenu
diff --git a/block/Makefile b/block/Makefile diff --git a/block/Makefile b/block/Makefile
index 36acdd7..736e91a 100644 index a827f98..3b14703 100644
--- a/block/Makefile --- a/block/Makefile
+++ b/block/Makefile +++ b/block/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o @@ -18,6 +18,7 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
@ -86,10 +86,10 @@ index 36acdd7..736e91a 100644
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index c47c358..1047d99 100644 index 1ca8e8f..8e2d6ed 100644
--- a/include/linux/blkdev.h --- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h +++ b/include/linux/blkdev.h
@@ -45,7 +45,7 @@ struct pr_ops; @@ -47,7 +47,7 @@ struct rq_wb;
* Maximum number of blkcg policies allowed to be registered concurrently. * Maximum number of blkcg policies allowed to be registered concurrently.
* Defined here to simplify include dependency. * Defined here to simplify include dependency.
*/ */

View file

@ -1,7 +1,7 @@
From a43c7e21bccd510d72a003e350247b1b4c6b71c3 Mon Sep 17 00:00:00 2001 From 2f56e91506b329ffc29d0f184924ad0123c9ba9e Mon Sep 17 00:00:00 2001
From: Paolo Valente <paolo.valente@unimore.it> From: Paolo Valente <paolo.valente@unimore.it>
Date: Thu, 9 May 2013 19:10:02 +0200 Date: Thu, 9 May 2013 19:10:02 +0200
Subject: [PATCH 2/4] block: introduce the BFQ-v7r11 I/O sched for 4.5.0 Subject: [PATCH 2/4] block: introduce the BFQ-v7r11 I/O sched for 4.10.0
The general structure is borrowed from CFQ, as much of the code for The general structure is borrowed from CFQ, as much of the code for
handling I/O contexts. Over time, several useful features have been handling I/O contexts. Over time, several useful features have been

View file

@ -1,8 +1,8 @@
From 52135041a6bf118c80a6858f63aff70b325389c4 Mon Sep 17 00:00:00 2001 From e4d9bed2dfdec562b23491e44602c89c4a2a5ea4 Mon Sep 17 00:00:00 2001
From: Mauro Andreolini <mauro.andreolini@unimore.it> From: Mauro Andreolini <mauro.andreolini@unimore.it>
Date: Sun, 6 Sep 2015 16:09:05 +0200 Date: Sun, 6 Sep 2015 16:09:05 +0200
Subject: [PATCH 3/4] block, bfq: add Early Queue Merge (EQM) to BFQ-v7r11 for Subject: [PATCH 3/4] block, bfq: add Early Queue Merge (EQM) to BFQ-v7r11 for
4.5.0 4.10.0
A set of processes may happen to perform interleaved reads, i.e.,requests A set of processes may happen to perform interleaved reads, i.e.,requests
whose union would give rise to a sequential read pattern. There are two whose union would give rise to a sequential read pattern. There are two

View file

@ -1,23 +1,67 @@
Budget Fair Queueing I/O Scheduler Budget Fair Queueing I/O Scheduler
================================== ==================================
This patchset introduces BFQ-v8r7 into Linux 4.9.0. This patchset introduces BFQ-v8r8 into Linux 4.10.0.
For further information: http://algogroup.unimore.it/people/paolo/disk_sched/ For further information: http://algogroup.unimore.it/people/paolo/disk_sched/
The overall diffstat is the following: The overall diffstat is the following:
block/Kconfig.iosched | 30 + Documentation/block/00-INDEX | 2 +
block/Makefile | 1 + Documentation/block/bfq-iosched.txt | 530 ++++++
block/bfq-cgroup.c | 1196 +++++++++++++++++++++++++++++ Makefile | 2 +-
block/bfq-ioc.c | 36 + block/Kconfig.iosched | 30 +
block/bfq-iosched.c | 5288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ block/Makefile | 1 +
block/bfq-sched.c | 1501 ++++++++++++++++++++++++++++++++++++ block/bfq-cgroup.c | 1191 +++++++++++++
block/bfq.h | 886 ++++++++++++++++++++++ block/bfq-ioc.c | 36 +
include/linux/blkdev.h | 2 +- block/bfq-iosched.c | 5306 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8 files changed, 8939 insertions(+), 1 deletion(-) block/bfq-sched.c | 1989 ++++++++++++++++++++++
block/bfq.h | 935 +++++++++++
include/linux/blkdev.h | 2 +-
11 files changed, 10022 insertions(+), 2 deletions(-)
CHANGELOG CHANGELOG
BFQ v8r8
. BUGFIX: Removed a wrong compilation warning, due to the compiler
not taking into account short circuit in a condition.
. BUGIFX: Added several forgotten static qualifiers in function
definitions (completely harmless issue).
. BUGFIX: Put async queues on exit also without cgroups
. BUGFIX: The putting of async queues on scheduler exit was missing in case
cgroups support was not active. This fix adds the missing operation.
. BUGFIX: In the peak-rate estimator, there was a serious error in the
check that the percentage of sequential I/O-request dispatches was high
enough to trigger an update of the peak-rate estimate. This commit fixes
that check.
. IMPROVEMENT Luca Miccio has run a few responsiveness tests on recent
Android systems with average-speed storage devices. These tests have
shown that the following BFQ parameter was too low for these
systems: reference duration for slow storage devices of weight
raising for interactive applications. This commit raises that
duration to a value that is yelding optimal results in our
tests. Contributed by Luca Miccio.
. IMPROVEMENT This commit anticipates the complete check of budget
exhaustion, for the in-service bfq_queue, to when the next bfq_queue
to serve is selected (during a dispatch operation). This enables a
new bfq_queue to be immediately selected for service in case the
in-service bfq_queue has actually exhausted its budget. As a
consequence, a second dispatch invocation is not needed any more, to
have a new request dispatched. To implement this improvement, this
commit implements a further improvement too: the field next_rq of a
bfq_queue now always contains the actual next request to dispatch
(or NULL if the bfq_queue is empty).
. BUGFIX Make bfq_bic_update_cgroup() return nothing if
CONFIG_BFQ_GROUP_IOSCHED is disabled, as it happens if this option
is enabled. Contributed by Oleksandr Natalenko.
BFQ v8r7 BFQ v8r7
. BUGFIX: make BFQ compile also without hierarchical support . BUGFIX: make BFQ compile also without hierarchical support

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -140,4 +140,6 @@ CONFIG_NVME_RDMA=m
CONFIG_NVME_TARGET=m CONFIG_NVME_TARGET=m
CONFIG_NVME_TARGET_LOOP=m CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=m CONFIG_NVME_TARGET_RDMA=m
CONFIG_RDMA_RXE=m CONFIG_RDMA_RXE=m
CONFIG_MLX5_INFINIBAND=m
CONFIG_INFINIBAND_VMWARE_PVRDMA=m

View file

@ -135,3 +135,5 @@ CONFIG_NVME_TARGET=m
CONFIG_NVME_TARGET_LOOP=m CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=m CONFIG_NVME_TARGET_RDMA=m
CONFIG_RDMA_RXE=m CONFIG_RDMA_RXE=m
CONFIG_MLX5_INFINIBAND=m
CONFIG_INFINIBAND_VMWARE_PVRDMA=m

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,10 @@
%define kernelversion 4 %define kernelversion 4
%define patchlevel 9 %define patchlevel 10
# sublevel is now used for -stable patches # sublevel is now used for -stable patches
%define sublevel 14 %define sublevel 4
# Release number. Increase this before a rebuild. # Release number. Increase this before a rebuild.
%define rpmrel 2 %define rpmrel 1
# kernel base name (also name of srpm) # kernel base name (also name of srpm)
%define kname kernel %define kname kernel
@ -205,10 +205,10 @@ Patch108: ata-prefer-ata-drivers-over-ide-drivers-when-both-are-built.patch
Patch109: fs-aufs4.patch Patch109: fs-aufs4.patch
# BFQ IO scheduler, http://algogroup.unimore.it/people/paolo/disk_sched/ # BFQ IO scheduler, http://algogroup.unimore.it/people/paolo/disk_sched/
Patch111: 0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.5.0.patch Patch111: 0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.10..patch
Patch112: 0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.5.0.patch Patch112: 0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.10.0.patch
Patch113: 0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch Patch113: 0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch
Patch114: 0004-Turn-into-BFQ-v8r7-for-4.9.0.patch Patch114: 0004-Turn-BFQ-v7r11-for-4.10.0-into-BFQ-v8r8-for-4.10.0.patch
# https://bugs.freedesktop.org/show_bug.cgi?id=97822 # https://bugs.freedesktop.org/show_bug.cgi?id=97822
# http://bugs.rosalinux.ru/show_bug.cgi?id=7533 # http://bugs.rosalinux.ru/show_bug.cgi?id=7533
@ -216,7 +216,6 @@ Patch200: i915_hack_bug_97822.patch
# Patches from mainline. # Patches from mainline.
Patch300: rt2800-enable-rt3290-unconditionally-on-pci-probe.patch Patch300: rt2800-enable-rt3290-unconditionally-on-pci-probe.patch
Patch301: printk-add-Kconfig-option-to-set-default-console-loglevel.patch
# Sanitizing kernel memory # Sanitizing kernel memory
# We do not use "Patch:" here because apply_patches would always apply it # We do not use "Patch:" here because apply_patches would always apply it

10
linux-4.10.tar.sign Normal file
View file

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJYqiMdAAoJEHm+PkMAQRiGbXYH/Rqshach3DDsWvKZWbKHFYzs
1pGI0S0rJ3N1I3nB1zM6t658STkk4gxjOqG+N6uyfcWfvwxaWx7SxMbxxgcKbTgb
el+Lnx4unXDMCIJqPRshq8D7SWWwgSAjbtrufgec8IZd5RXiadORTOle488W/F99
iIgGguMQVbTxV9Q8fepCFRLkZ/UZ9+oTbDoSed8ETroSJsjsSsAaPoVSEwBSb6Y4
k2CqzqeHUBL+Qkpx/1wPoYObwSDwklawu1PvXPJDDVGBe/eDaUvlJnqJYgCMRwjw
2hd5vlGPMdUUpXFQv6REgBGeYQK/EM/fqYhEvJDxQQTrwIs4xnaimYY+QwY+5Os=
=TyAn
-----END PGP SIGNATURE-----

View file

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJYTbI/AAoJEHm+PkMAQRiGVsQH/1ydk05P4TSrQZqBi0yrdmgr
mzMkf14zRxx8fOAaNSM8awKCTwYQZRD/ap6wzatkcZ8lx4djIb0Psrq+FLekh4DL
AGu8wjcstUXXDSAdd/tVneG6uUk7Hw/g8fH5y+F9eoIPuT3ip9gIy0e6fLI42C1N
97WG93KHOXlM6GFcYhKF7cNZ3h44ZQc9O8hmoepaQ/QeEFfHlkB4z7mwDbFjcvr5
TfxIce9SAOExU3DStegnPnHXir9qEGI3eL9H2EJoYzWY65Owes90IYKxmRBgqpIW
2Ors/AW2pJEJSsHycMUXS4+l4GxgmDZqNxS++M9Rp/sS8pQWPbvYN3Fvls/k0vs=
=OKyY
-----END PGP SIGNATURE-----

16
patch-4.10.4.sign Normal file
View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAljNF8wACgkQONu9yGCS
aT7WfBAArhNEvT3RLNo2Etk35K3mBiTrGyvAdf/j2zme2penJUwgXSvdXenQIhKh
D68dMZJFI/h++vv+N9/bnvgWjismXc3g2ieBVczTDZtq4j/iClVWbfc7NSv+VMoG
lBk2fYlDmpOLVPXtXtMMoCOaBI3oYKGjh+TAnxbr2iM2wXXVKh19fyipkJtsjASA
0c6gFkGYVP48boIrzTw6ymDiKZsJZ/L9vYDRRnWjsYZ2wqTc19rKWxDpr3wU6oBU
YrA4Mm1gL7y5U4h5D7KjIbQ5rZraxm4L85mlMZTLii+TMVX7c3lgTsoEHJpYOug6
p0bh3QsxAsn+MakODUwn+VpsguUGuzXRfKYtH3mSQgSQi9So9lQ8rpoV8AEY06Yb
7xF6rHuL92HT6Y/DjU42orke6XdjeXTJG9Qd3qeq1b8goq7xL3N+L7Vgf6T01YMC
iqCC736pFtmqLmJHwznieqAOhM8yfiD39zxu63mMsTdbwv75WFDnYQGn1Pv/cjN8
WPuiiAxfYrh8+Ys3b9JhOzAgVeaLn++x5DIYre+ik6sIgumzrxAYpa9LvmVm8MKh
NPrpghBtYvBWCUB8xoappovjW9z+u/6jmcePtgMd7eoVE28heq9kcoqDHVKWWIkc
ZaXKgeDu4qinHyOvNAyKPlhUxada/VbRJdK0KAVD1CCM5A2vguk=
=60oX
-----END PGP SIGNATURE-----

View file

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAljE39IACgkQONu9yGCS
aT7tCQ/7B6W4+GQ/L+mnelO33+dDWsvQOKAlfs3OMP0vCFJtd9MTm0TNwQf5vjEQ
O4NWzkFoHAvWWqCfbvQWbU3M8oMnLCS2iutO/kKHUMsFPggdR/oMLyfAGoLPuAmO
mmP8SSvTu7y1PszTMO32NhUgM5wPmMLm3siZN8i+0dRC3qrNsgw7ZyPJcwbWcdaY
Yska/+qSo9D5weHqOv4QhFHtEPlsGmmhfxF/0Ii8iVoAcZjstv9mbITJW10XRPCk
Jb0jsWGWDgoMzKEliW7eVZ5N5etRvwuf7mlkoJ6kTvDxUolXQOJGY2DiEGOXANSG
HNGnKqm2uWKNkSy/xO3GGtjVJ2bdiGOgkZReR4OJgIFEHweRYcKQmbG7InH5d1O8
66+Xe6XcmzcXAMmRL/bDuh8q1n+zBnbHtyfO80yF2CUBqvcW2GRL6FO7pe4ClAD5
BA0I00PzFD8oI7Ewkjdzb/9JTEa6QgpW8LMYXzP6aWGUxjEOtk0thLaa1hQocaRz
M0ydH7PNr0AbSSnWZtpmNfB0kNNpY6jI9YIVnrsH0rE+FkBbx3rDJOu+BBi+mW0x
bpgTQiMtkidotgozS+CXu450SKYhpUuFUi71bMKF/RFupcyu1mST+21OnBw8brWw
wHwZOZiLTEbsR33VBp6SkJJ1XclBtqdw6JMWh9KlFjfgzVmaDx4=
=398p
-----END PGP SIGNATURE-----

View file

@ -1,87 +0,0 @@
From a8cfdc68f6cfc0c7ffc6d664406fe7f06f17eef4 Mon Sep 17 00:00:00 2001
From: Olof Johansson <olof@lixom.net>
Date: Mon, 12 Dec 2016 16:45:56 -0800
Subject: [PATCH] printk: add Kconfig option to set default console loglevel
Add a configuration option to set the default console loglevel. This
is, as before, still possible to override at runtime through bootargs
(loglevel=<x>), sysrq and /proc/printk.
There are cases where adding additional arguments on the commandline is
impractical, and changing the default for the kernel when being built
makes more sense. Provide such a method here, for those who choose to
do so.
Also, while touching this code, clarify the difference between
MESSAGE_LOGLEVEL_DEFAULT and CONSOLE_LOGLEVEL_DEFAULT.
Link: http://lkml.kernel.org/r/1479676829-30031-1-git-send-email-olof@lixom.net
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
include/linux/printk.h | 7 ++++++-
lib/Kconfig.debug | 19 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/include/linux/printk.h b/include/linux/printk.h
index afe8cce..3472cc6 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -50,10 +50,15 @@ static inline const char *printk_skip_headers(const char *buffer)
#define CONSOLE_LOGLEVEL_SILENT 0 /* Mum's the word */
#define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel we let people use */
#define CONSOLE_LOGLEVEL_QUIET 4 /* Shhh ..., when booted with "quiet" */
-#define CONSOLE_LOGLEVEL_DEFAULT 7 /* anything MORE serious than KERN_DEBUG */
#define CONSOLE_LOGLEVEL_DEBUG 10 /* issue debug messages */
#define CONSOLE_LOGLEVEL_MOTORMOUTH 15 /* You can't shut this one up */
+/*
+ * Default used to be hard-coded at 7, we're now allowing it to be set from
+ * kernel config.
+ */
+#define CONSOLE_LOGLEVEL_DEFAULT CONFIG_CONSOLE_LOGLEVEL_DEFAULT
+
extern int console_printk[];
#define console_loglevel (console_printk[0])
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 9bb7d82..65a619e 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -15,6 +15,21 @@ config PRINTK_TIME
The behavior is also controlled by the kernel command line
parameter printk.time=1. See Documentation/kernel-parameters.txt
+config CONSOLE_LOGLEVEL_DEFAULT
+ int "Default console loglevel (1-15)"
+ range 1 15
+ default "7"
+ help
+ Default loglevel to determine what will be printed on the console.
+
+ Setting a default here is equivalent to passing in loglevel=<x> in
+ the kernel bootargs. loglevel=<x> continues to override whatever
+ value is specified here as well.
+
+ Note: This does not affect the log level of un-prefixed prink()
+ usage in the kernel. That is controlled by the MESSAGE_LOGLEVEL_DEFAULT
+ option.
+
config MESSAGE_LOGLEVEL_DEFAULT
int "Default message log level (1-7)"
range 1 7
@@ -26,6 +41,10 @@ config MESSAGE_LOGLEVEL_DEFAULT
that are auditing their logs closely may want to set it to a lower
priority.
+ Note: This does not affect what message level gets printed on the console
+ by default. To change that, use loglevel=<x> in the kernel bootargs,
+ or pick a different CONSOLE_LOGLEVEL_DEFAULT configuration value.
+
config BOOT_PRINTK_DELAY
bool "Delay each boot printk message by N milliseconds"
depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
--
2.7.3