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:
linux-4.9.tar.xz: fa46da077c077467776cdc45a7b50d327a081ab4
patch-4.9.14.xz: dca0d0a4a199cf48d88c7e4d933d730527277280
linux-4.10.tar.xz: 1375424721130e93dd6f723537a4db9039a02643
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>
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
kernel configuration options for BFQ. Also increase the number of
@ -74,7 +74,7 @@ index 421bef9..0ee5f0f 100644
endmenu
diff --git a/block/Makefile b/block/Makefile
index 36acdd7..736e91a 100644
index a827f98..3b14703 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -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_BLK_CMDLINE_PARSER) += cmdline-parser.o
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
+++ 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.
* 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>
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
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>
Date: Sun, 6 Sep 2015 16:09:05 +0200
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
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
==================================
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/
The overall diffstat is the following:
block/Kconfig.iosched | 30 +
block/Makefile | 1 +
block/bfq-cgroup.c | 1196 +++++++++++++++++++++++++++++
block/bfq-ioc.c | 36 +
block/bfq-iosched.c | 5288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
block/bfq-sched.c | 1501 ++++++++++++++++++++++++++++++++++++
block/bfq.h | 886 ++++++++++++++++++++++
include/linux/blkdev.h | 2 +-
8 files changed, 8939 insertions(+), 1 deletion(-)
Documentation/block/00-INDEX | 2 +
Documentation/block/bfq-iosched.txt | 530 ++++++
Makefile | 2 +-
block/Kconfig.iosched | 30 +
block/Makefile | 1 +
block/bfq-cgroup.c | 1191 +++++++++++++
block/bfq-ioc.c | 36 +
block/bfq-iosched.c | 5306 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
block/bfq-sched.c | 1989 ++++++++++++++++++++++
block/bfq.h | 935 +++++++++++
include/linux/blkdev.h | 2 +-
11 files changed, 10022 insertions(+), 2 deletions(-)
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
. 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

@ -141,3 +141,5 @@ CONFIG_NVME_TARGET=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=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_RDMA=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 patchlevel 9
%define patchlevel 10
# sublevel is now used for -stable patches
%define sublevel 14
%define sublevel 4
# Release number. Increase this before a rebuild.
%define rpmrel 2
%define rpmrel 1
# kernel base name (also name of srpm)
%define kname kernel
@ -205,10 +205,10 @@ Patch108: ata-prefer-ata-drivers-over-ide-drivers-when-both-are-built.patch
Patch109: fs-aufs4.patch
# 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
Patch112: 0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-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.10.0.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
# http://bugs.rosalinux.ru/show_bug.cgi?id=7533
@ -216,7 +216,6 @@ Patch200: i915_hack_bug_97822.patch
# Patches from mainline.
Patch300: rt2800-enable-rt3290-unconditionally-on-pci-probe.patch
Patch301: printk-add-Kconfig-option-to-set-default-console-loglevel.patch
# Sanitizing kernel memory
# 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