mirror of
https://github.com/linuxkit/linuxkit.git
synced 2026-03-19 12:55:52 +00:00
Compare commits
198 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
811ba12cb0 | ||
|
|
3181a8f182 | ||
|
|
3ab5e19b2f | ||
|
|
88afbcae15 | ||
|
|
ea9b29bd19 | ||
|
|
b4c3f9db1f | ||
|
|
5b4059fcfd | ||
|
|
4debffafa4 | ||
|
|
3672843dc9 | ||
|
|
1a6b6b2db9 | ||
|
|
46184e258b | ||
|
|
c1e10002b0 | ||
|
|
1b22e1e2be | ||
|
|
ccc6e48f38 | ||
|
|
a0a4ec5449 | ||
|
|
cd4d50920a | ||
|
|
4eddd90ae2 | ||
|
|
4ee42d63b9 | ||
|
|
a90d4a92d5 | ||
|
|
6a7b336ade | ||
|
|
ec2dfa6625 | ||
|
|
93496067ea | ||
|
|
18f11b2834 | ||
|
|
8ad9f65ec8 | ||
|
|
20bd54c6b0 | ||
|
|
facadbf548 | ||
|
|
9344473ba5 | ||
|
|
e7fc5b59a3 | ||
|
|
793dd1b257 | ||
|
|
565f787bb3 | ||
|
|
4b4d56913d | ||
|
|
05753e7341 | ||
|
|
b305db0ae5 | ||
|
|
177008fe0c | ||
|
|
8301540809 | ||
|
|
63ae346152 | ||
|
|
6045ddaf51 | ||
|
|
a9acdd827e | ||
|
|
d7d995cab5 | ||
|
|
21f65528d2 | ||
|
|
38636e80d9 | ||
|
|
c6c502c631 | ||
|
|
5c8df3837d | ||
|
|
48ca3f1302 | ||
|
|
20e71cf09e | ||
|
|
1b23313bb3 | ||
|
|
53af0ce80c | ||
|
|
3c492fe40a | ||
|
|
29c3ef0aa0 | ||
|
|
5d614468a0 | ||
|
|
9bbc0ecbee | ||
|
|
92a9a64a1b | ||
|
|
a07ecf60d5 | ||
|
|
fe64f33430 | ||
|
|
6aca715ad8 | ||
|
|
3e742018d6 | ||
|
|
c92af038fb | ||
|
|
638c455dd2 | ||
|
|
f4bbce7a6c | ||
|
|
4dc75bc67b | ||
|
|
1795c15276 | ||
|
|
6dfd40a639 | ||
|
|
d09fbe04fb | ||
|
|
8727bcb4f3 | ||
|
|
6eabfdcb96 | ||
|
|
2c8438f64b | ||
|
|
a1d47ff766 | ||
|
|
9088e3f843 | ||
|
|
e1cff3614a | ||
|
|
91bed426f1 | ||
|
|
9a1d9fb1eb | ||
|
|
b859e7ab4d | ||
|
|
498d4f1a91 | ||
|
|
f7ff31382b | ||
|
|
909a9fac68 | ||
|
|
dcc4a5e799 | ||
|
|
d3e3df3d73 | ||
|
|
82867aa114 | ||
|
|
9dac66b831 | ||
|
|
f6af74b6bf | ||
|
|
157c73cfed | ||
|
|
380e24391d | ||
|
|
ad85828d87 | ||
|
|
34666cd87d | ||
|
|
779a611d6b | ||
|
|
b37527c23d | ||
|
|
0ee4ab7b7f | ||
|
|
f7cf178ead | ||
|
|
e7a7fe9339 | ||
|
|
e5a3b36d38 | ||
|
|
412857be96 | ||
|
|
ef47cd9c98 | ||
|
|
bfd0ba0983 | ||
|
|
8f962b9e4a | ||
|
|
e36eae4820 | ||
|
|
561e9375e8 | ||
|
|
8ac642e4e0 | ||
|
|
14ba30f418 | ||
|
|
a6dbe8ceba | ||
|
|
2eec092862 | ||
|
|
9f1f99026d | ||
|
|
ef5c128a8c | ||
|
|
f347ba9412 | ||
|
|
aed5328d2b | ||
|
|
2ff0491ac1 | ||
|
|
268b5269f9 | ||
|
|
9817d7eb3c | ||
|
|
bb307079b0 | ||
|
|
90f7d1bed9 | ||
|
|
a5ed0cf40a | ||
|
|
fe4c7cdb75 | ||
|
|
8ce01c5736 | ||
|
|
ccfdc71a2f | ||
|
|
b698d26c87 | ||
|
|
f088b05e9a | ||
|
|
8d5ced3a1d | ||
|
|
3c6434e022 | ||
|
|
a6783261f3 | ||
|
|
f8d399490e | ||
|
|
5ab6b88029 | ||
|
|
3a3b487907 | ||
|
|
068df79031 | ||
|
|
1ff88a957c | ||
|
|
15b5057a8b | ||
|
|
338b1bb017 | ||
|
|
9821180548 | ||
|
|
45f563fc66 | ||
|
|
a6f50ff565 | ||
|
|
e0c411f5ef | ||
|
|
a4420a789d | ||
|
|
45222dfaaf | ||
|
|
16604bc039 | ||
|
|
154a5b3ea6 | ||
|
|
00c21a652a | ||
|
|
3195451ec4 | ||
|
|
7dbd1a52cd | ||
|
|
6b629fa30b | ||
|
|
4e830a35a1 | ||
|
|
17d9870dd7 | ||
|
|
6ad3055401 | ||
|
|
8a7ba7197e | ||
|
|
42397f7f1d | ||
|
|
c9db3f0625 | ||
|
|
18ec668c91 | ||
|
|
5176ce7dd3 | ||
|
|
414b4c5275 | ||
|
|
a0e7417968 | ||
|
|
d85ce30e0e | ||
|
|
643414f6f4 | ||
|
|
193c4fa4da | ||
|
|
3792a61ccb | ||
|
|
fc6bcde1fd | ||
|
|
25738c0768 | ||
|
|
ba5e75a24e | ||
|
|
25c74cbfe8 | ||
|
|
910d453769 | ||
|
|
197f438d1e | ||
|
|
b5a00f17ec | ||
|
|
a6925908a6 | ||
|
|
56f7a8c9f3 | ||
|
|
525ff1c1a8 | ||
|
|
55d66b434f | ||
|
|
dae753cf0a | ||
|
|
3ddca63774 | ||
|
|
81c9e9c58f | ||
|
|
0676bc7592 | ||
|
|
bd59dbf793 | ||
|
|
5e10631fe2 | ||
|
|
946712460b | ||
|
|
932ed11e06 | ||
|
|
9e8f458780 | ||
|
|
acc059e6c8 | ||
|
|
8acb257012 | ||
|
|
d9a1ea45ce | ||
|
|
679edce979 | ||
|
|
78e974e04f | ||
|
|
697b904803 | ||
|
|
e945773f63 | ||
|
|
00ce115df9 | ||
|
|
454d2142f3 | ||
|
|
8687c79482 | ||
|
|
250604a680 | ||
|
|
30795173b9 | ||
|
|
6e04261450 | ||
|
|
653d9805a9 | ||
|
|
ec82c4989c | ||
|
|
bc7103d1a3 | ||
|
|
c4a265c77f | ||
|
|
a326f9e084 | ||
|
|
ccd9998461 | ||
|
|
90fb6316c2 | ||
|
|
49c1f0007c | ||
|
|
ce9c5eb6fb | ||
|
|
21cb73257b | ||
|
|
2d034db7f8 | ||
|
|
9af0179d1b | ||
|
|
e920eea1c4 | ||
|
|
ac2e5c53ec |
3
.mailmap
3
.mailmap
@@ -24,6 +24,7 @@ David Sheets <david.sheets@docker.com> <sheets@alum.mit.edu>
|
||||
Ian Campbell <ian.campbell@docker.com> <ijc25@users.noreply.github.com>
|
||||
Ian Campbell <ian.campbell@docker.com> <ijc@docker.com>
|
||||
Ian Campbell <ian.campbell@docker.com> <ijc@users.noreply.github.com>
|
||||
Ian Campbell <ian.campbell@docker.com> <ijc@lxdeb01.marist.edu>
|
||||
Isaac Rodman <isaac@eyz.us> <isaac.rodman@healthtrio.com>
|
||||
Isaac Rodman <isaac@eyz.us>
|
||||
Istvan Szukacs <l1x@users.noreply.github.com>
|
||||
@@ -31,10 +32,12 @@ Jeff Wu <jeff.wu.junfei@gmail.com> <JeffWuBJ@users.noreply.github.com>
|
||||
Jeremy Yallop <yallop@docker.com> <yallop@gmail.com>
|
||||
Justin Cormack <justin.cormack@docker.com> <justin.cormack@unikernel.com>
|
||||
Justin Cormack <justin.cormack@docker.com> <justin@specialbusservice.com>
|
||||
Justin Barrick <jbarrick@cloudflare.com>
|
||||
Ken Cochrane <ken.cochrane@docker.com> <KenCochrane@gmail.com>
|
||||
Magnus Skjegstad <magnus.skjegstad@docker.com> <magnus@skjegstad.com>
|
||||
Marten Cassel <marten.cassel@gmail.com> <mcpop28@hotmail.com>
|
||||
Mindy Preston <mindy.preston@docker.com> <meetup@yomimono.org>
|
||||
MinJae Kwon <mingrammer@gmail.com>
|
||||
Nathan Dautenhahn <ndd@seas.upenn.edu> <ndd@cis.upenn.edu>
|
||||
Nathan LeClaire <nathan.leclaire@docker.com> <nathan.leclaire@gmail.com>
|
||||
Nathan LeClaire <nathan.leclaire@docker.com> <nathanleclaire@gmail.com>
|
||||
|
||||
8
AUTHORS
8
AUTHORS
@@ -3,12 +3,14 @@
|
||||
|
||||
Ajeet Singh Raina, Docker Captain, {Code} Catalysts, Dell EMC R&D <ajeetraina@gmail.com>
|
||||
Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
|
||||
Alan Raison <alanraison@users.noreply.github.com>
|
||||
Alex Johnson <hello@alex-johnson.net>
|
||||
Alice Frosi <alice@linux.vnet.ibm.com>
|
||||
Amir Chaudhry <amir.chaudhry@docker.com>
|
||||
Anil Madhavapeddy <anil.madhavapeddy@docker.com>
|
||||
Avi Deitcher <avi@deitcher.net>
|
||||
Bill Kerr <bill@generalbill.com>
|
||||
Brice Figureau <brice-puppet@daysofwonder.com>
|
||||
Carlton-Semple <carlton.semple@ibm.com>
|
||||
Craig Ingram <cingram@heroku.com>
|
||||
Damiano Donati <damiano.donati@gmail.com>
|
||||
@@ -47,9 +49,11 @@ Jes Ferrier <jes.ferrier@gmail.com>
|
||||
Jesse Adametz <jesseadametz@gmail.com>
|
||||
John Albietz <inthecloud247@gmail.com>
|
||||
Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
|
||||
Justin Barrick <jbarrick@cloudflare.com>
|
||||
Justin Cormack <justin.cormack@docker.com>
|
||||
Justin Ko <justin.ko@oracle.com>
|
||||
Ken Cochrane <ken.cochrane@docker.com>
|
||||
Krister Johansen <krister.johansen@oracle.com>
|
||||
Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
|
||||
Liqdfire <liqdfire@gmail.com>
|
||||
Lorenzo Fontana <lo@linux.com>
|
||||
@@ -59,6 +63,7 @@ Magnus Skjegstad <magnus.skjegstad@docker.com>
|
||||
Marco Mariani <marco.mariani@alterway.fr>
|
||||
Marcus van Dam <marcus@marcusvandam.nl>
|
||||
marten <marten.cassel@gmail.com>
|
||||
Mathieu Champlon <mathieu.champlon@docker.com>
|
||||
Mathieu Pasquet <mathieu.pasquet@alterway.fr>
|
||||
Matt Bajor <matt.bajor@workday.com>
|
||||
Matt Bentley <matt.bentley@docker.com>
|
||||
@@ -66,6 +71,7 @@ Matt Johnson <matjohn2@cisco.com>
|
||||
Michel Courtine <michel.courtine@docker.com>
|
||||
Mickaël Salaün <mic@digikod.net>
|
||||
Mindy Preston <mindy.preston@docker.com>
|
||||
MinJae Kwon <mingrammer@gmail.com>
|
||||
Natanael Copa <natanael.copa@docker.com>
|
||||
Nathan Dautenhahn <ndd@seas.upenn.edu>
|
||||
Nathan LeClaire <nathan.leclaire@docker.com>
|
||||
@@ -74,6 +80,7 @@ Niclas Mietz <niclas@mietz.io>
|
||||
Nico Di Rocco <dirocco.nico@gmail.com>
|
||||
Olaf Bergner <olaf.bergner@gmx.de>
|
||||
Olaf Flebbe <of@oflebbe.de>
|
||||
Patrik Cyvoct <patrik@ptrk.io>
|
||||
Phil Estes <estesp@linux.vnet.ibm.com>
|
||||
Pierre Gayvallet <pierre.gayvallet@docker.com>
|
||||
Pratik Mallya <mallya@us.ibm.com>
|
||||
@@ -93,6 +100,7 @@ Sotiris Salloumis <sotiris.salloumis@gmail.com>
|
||||
Stefan Bourlon <stefan.bourlon@ca.com>
|
||||
Stephen J Day <stephen.day@docker.com>
|
||||
Steve Hiehn <shiehn@pivotal.io>
|
||||
Sukchan Lee <acetcom@gmail.com>
|
||||
Theo Koulouris <theo.koulouris@hpe.com>
|
||||
Thomas Conte <thomas@conte.com>
|
||||
Thomas Gazagnaire <thomas.gazagnaire@docker.com>
|
||||
|
||||
23
CHANGELOG.md
23
CHANGELOG.md
@@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [v0.5] - 2018-07-10
|
||||
### Added
|
||||
- New logging support with log rotation.
|
||||
- Scaleway provider.
|
||||
- Support for v4.17.x kernels.
|
||||
- Kernel source are not included in the kernel packages.
|
||||
- Improved documentation about debugging LinuxKit.
|
||||
|
||||
### Changed
|
||||
- Switched to Alpine Linux 3.8 as the base.
|
||||
- `containerd` updated to v1.1.1.
|
||||
- `pkg/cadvisor` updated to v0.30.2
|
||||
- `pkg/node_exporter` updated to 0.16.0
|
||||
- WireGuard updated to 0.0.20180708.
|
||||
- Linux firmware binaries update to latest.
|
||||
- Improved support for building on Windows.
|
||||
- Improved support for AWS/GCP metadata.
|
||||
- Better handling of reboot/poweroff.
|
||||
|
||||
### Removed
|
||||
- Support for v4.16.x. kernels as they have been EOLed.
|
||||
|
||||
|
||||
## [v0.4] - 2018-05-12
|
||||
### Added
|
||||
- Support for v4.16.x kernels.
|
||||
|
||||
33
Makefile
33
Makefile
@@ -1,16 +1,17 @@
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
.PHONY: default all
|
||||
default: bin/linuxkit bin/rtf
|
||||
all: default
|
||||
|
||||
VERSION="v0.4"
|
||||
VERSION="v0.5"
|
||||
GIT_COMMIT=$(shell git rev-list -1 HEAD)
|
||||
|
||||
GO_COMPILE=linuxkit/go-compile:a8bffe875268a973ea82e5937b0fb23a5b08cc79
|
||||
GO_COMPILE=linuxkit/go-compile:49a2e8f8672ca95ad0159eebcc631773503465c1
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
LINUXKIT?=bin/linuxkit.exe
|
||||
RTF?=bin/rtf.exe
|
||||
GOOS?=windows
|
||||
else
|
||||
LINUXKIT?=bin/linuxkit
|
||||
RTF?=bin/rtf
|
||||
GOOS?=$(shell uname -s | tr '[:upper:]' '[:lower:]')
|
||||
endif
|
||||
GOARCH?=amd64
|
||||
ifneq ($(GOOS),linux)
|
||||
CROSS+=-e GOOS=$(GOOS)
|
||||
@@ -21,16 +22,22 @@ endif
|
||||
|
||||
PREFIX?=/usr/local/
|
||||
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
.PHONY: default all
|
||||
default: $(LINUXKIT) $(RTF)
|
||||
all: default
|
||||
|
||||
RTF_COMMIT=171155c375706f2616f0b9c96afe2240e15d1de1
|
||||
RTF_CMD=github.com/linuxkit/rtf/cmd
|
||||
RTF_VERSION=0.0
|
||||
bin/rtf: tmp_rtf_bin.tar | bin
|
||||
$(RTF): tmp_rtf_bin.tar | bin
|
||||
tar xf $<
|
||||
rm $<
|
||||
touch $@
|
||||
|
||||
tmp_rtf_bin.tar: Makefile
|
||||
docker run --rm --log-driver=none -e http_proxy=$(http_proxy) -e https_proxy=$(https_proxy) $(CROSS) $(GO_COMPILE) --clone-path github.com/linuxkit/rtf --clone https://github.com/linuxkit/rtf.git --commit $(RTF_COMMIT) --package github.com/linuxkit/rtf --ldflags "-X $(RTF_CMD).GitCommit=$(RTF_COMMIT) -X $(RTF_CMD).Version=$(RTF_VERSION)" -o bin/rtf > $@
|
||||
docker run --rm --log-driver=none -e http_proxy=$(http_proxy) -e https_proxy=$(https_proxy) $(CROSS) $(GO_COMPILE) --clone-path github.com/linuxkit/rtf --clone https://github.com/linuxkit/rtf.git --commit $(RTF_COMMIT) --package github.com/linuxkit/rtf --ldflags "-X $(RTF_CMD).GitCommit=$(RTF_COMMIT) -X $(RTF_CMD).Version=$(RTF_VERSION)" -o $(RTF) > $@
|
||||
|
||||
# Manifest tool for multi-arch images
|
||||
MT_COMMIT=bfbd11963b8e0eb5f6e400afaebeaf39820b4e90
|
||||
@@ -44,13 +51,13 @@ tmp_mt_bin.tar: Makefile
|
||||
docker run --rm --log-driver=none -e http_proxy=$(http_proxy) -e https_proxy=$(https_proxy) $(CROSS) $(GO_COMPILE) --clone-path github.com/estesp/manifest-tool --clone $(MT_REPO) --commit $(MT_COMMIT) --package github.com/estesp/manifest-tool --ldflags "-X main.gitCommit=$(MT_COMMIT)" -o bin/manifest-tool > $@
|
||||
|
||||
LINUXKIT_DEPS=$(wildcard src/cmd/linuxkit/*.go) $(wildcard src/cmd/linuxkit/*/*.go) Makefile src/cmd/linuxkit/vendor.conf
|
||||
bin/linuxkit: tmp_linuxkit_bin.tar
|
||||
$(LINUXKIT): tmp_linuxkit_bin.tar
|
||||
tar xf $<
|
||||
rm $<
|
||||
touch $@
|
||||
|
||||
tmp_linuxkit_bin.tar: $(LINUXKIT_DEPS)
|
||||
tar cf - -C src/cmd/linuxkit . | docker run --rm --net=none --log-driver=none -i $(CROSS) $(GO_COMPILE) --package github.com/linuxkit/linuxkit/src/cmd/linuxkit --ldflags "-X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.GitCommit=$(GIT_COMMIT) -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.Version=$(VERSION)" -o bin/linuxkit > $@
|
||||
tar cf - -C src/cmd/linuxkit . | docker run --rm --net=none --log-driver=none -i $(CROSS) $(GO_COMPILE) --package github.com/linuxkit/linuxkit/src/cmd/linuxkit --ldflags "-X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.GitCommit=$(GIT_COMMIT) -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.Version=$(VERSION)" -o $(LINUXKIT) > $@
|
||||
|
||||
.PHONY: test-cross
|
||||
test-cross:
|
||||
@@ -63,7 +70,7 @@ test-cross:
|
||||
$(MAKE) clean
|
||||
|
||||
LOCAL_LDFLAGS += -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.GitCommit=$(GIT_COMMIT) -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.Version=$(VERSION)
|
||||
LOCAL_TARGET ?= bin/linuxkit
|
||||
LOCAL_TARGET ?= $(LINUXKIT)
|
||||
|
||||
.PHONY: local-check local-build local-test local-static-pie local-static local-dynamic local
|
||||
local-check: $(LINUXKIT_DEPS)
|
||||
|
||||
@@ -15,7 +15,7 @@ LinuxKit, a toolkit for building custom minimal, immutable Linux distributions.
|
||||
- Designed to be managed by external tooling, such as [Infrakit](https://github.com/docker/infrakit) or similar tools
|
||||
- Includes a set of longer-term collaborative projects in various stages of development to innovate on kernel and userspace changes, particularly around security
|
||||
|
||||
LinuxKit currently supports the `x86_64`, `arm64`, and `s390x` architectures on a variety of platforms, both as virtual machines and baremetal (see [below](#booting-and-testing) for details.
|
||||
LinuxKit currently supports the `x86_64`, `arm64`, and `s390x` architectures on a variety of platforms, both as virtual machines and baremetal (see [below](#booting-and-testing) for details).
|
||||
|
||||
## Subprojects
|
||||
|
||||
|
||||
@@ -33,12 +33,12 @@ kernel:
|
||||
image: linuxkit/kernel:4.9.91
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
trust:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM alpine:3.7 AS extract
|
||||
FROM alpine:3.8 AS extract
|
||||
|
||||
ARG DEB_URLS
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM alpine:3.7 AS extract
|
||||
FROM alpine:3.8 AS extract
|
||||
|
||||
ARG RPM_URLS
|
||||
|
||||
|
||||
46
docs/faq.md
46
docs/faq.md
@@ -30,3 +30,49 @@ of dependencies and functionality that we do not need. At present we are using t
|
||||
`init` process, and a small set of minimal scripts, but we expect to replace that with a small
|
||||
standalone `init` process and a small piece of code to bring up the system containers where the
|
||||
real work takes place.
|
||||
|
||||
## Console not displaying init or containerd output at boot
|
||||
|
||||
If you're not seeing `containerd` logs in the console during boot, make sure that your kernel `cmdline` configuration doesn't list multiple consoles.
|
||||
|
||||
`init` and other processes like `containerd` will use the last defined console in the kernel `cmdline`. When using `qemu`, to see the console you need to list `ttyS0` as the last console to properly see the output.
|
||||
|
||||
## Troubleshooting containers
|
||||
|
||||
Linuxkit runs all services in a specific `containerd` namespace called `services.linuxkit`. To list all the defined containers:
|
||||
|
||||
```sh
|
||||
(ns: getty) linuxkit-befde23bc535:~# ctr -n services.linuxkit container ls
|
||||
CONTAINER IMAGE RUNTIME
|
||||
getty - io.containerd.runtime.v1.linux
|
||||
```
|
||||
|
||||
To list all running containers and their status:
|
||||
|
||||
```sh
|
||||
(ns: getty) linuxkit-befde23bc535:~# ctr -n services.linuxkit task ls
|
||||
TASK PID STATUS
|
||||
getty 661 RUNNING
|
||||
```
|
||||
|
||||
To list all processes running in a container:
|
||||
|
||||
```sh
|
||||
(ns: getty) linuxkit-befde23bc535:/containers/services/getty# ctr -n services.linuxkit task ps getty
|
||||
PID INFO
|
||||
661 &ProcessDetails{ExecID:getty,}
|
||||
677 -
|
||||
685 -
|
||||
686 -
|
||||
687 -
|
||||
1237 -
|
||||
```
|
||||
|
||||
To attach a shell to a running container:
|
||||
|
||||
```sh
|
||||
(ns: getty) linuxkit-befde23bc535:/containers/services/getty# ctr -n services.linuxkit tasks exec --tty --exec-id sh sshd /bin/ash -l
|
||||
(ns: sshd) linuxkit-befde23bc535:/#
|
||||
```
|
||||
|
||||
Containers are defined as OCI bundles in `/containers`.
|
||||
|
||||
94
docs/logging.md
Normal file
94
docs/logging.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Logging
|
||||
|
||||
By default LinuxKit will write onboot and service logs directly to files in
|
||||
`/var/log` and `/var/log/onboot`.
|
||||
|
||||
It is tricky to write the logs to a disk or a network service as no disks
|
||||
or networks are available until the `onboot` containers run. We work around
|
||||
this by splitting the logging into 2 pieces:
|
||||
|
||||
1. `memlogd`: an in-memory circular buffer which receives logs (including
|
||||
all the early `onboot` logs)
|
||||
2. a log writing `service` that starts later and can download and process
|
||||
the logs from `memlogd`
|
||||
|
||||
To use this new logging system, you should add the `memlogd` container to
|
||||
the `init` block in the LinuxKit yml. On boot `memlogd` will be started
|
||||
from `init.d` and it will listen on a Unix domain socket:
|
||||
|
||||
```
|
||||
/var/run/linuxkit-external-logging.sock
|
||||
```
|
||||
|
||||
The `init`/`service` process will look for this socket and redirect the
|
||||
`stdout` and `stderr` of both `onboot` and `services` to `memlogd`.
|
||||
|
||||
## memlogd: an in-memory circular buffer
|
||||
|
||||
The `memlogd` daemon reads the logs from the `onboot` and `services` containers
|
||||
and stores them together with a timestamp and the name of the originating
|
||||
container in a circular buffer in memory.
|
||||
|
||||
The contents of the circular buffer can be read over the Unix domain socket
|
||||
```
|
||||
/var/run/memlogq.sock
|
||||
```
|
||||
|
||||
The circular buffer has a fixed size (overridden by the command-line argument
|
||||
`-max-lines`) and when it fills up, the oldest messages will be overwritten.
|
||||
|
||||
To store the logs somewhere more permanent, for example a disk or a remote
|
||||
network service, a service should be added to the yaml which connects to
|
||||
`memlogd` and streams the logs. The `logwrite` service described below shows
|
||||
how to do this.
|
||||
|
||||
### Message format
|
||||
|
||||
The format used to read logs is similar to [kmsg](https://www.kernel.org/doc/Documentation/ABI/testing/dev-kmsg):
|
||||
```
|
||||
<timestamp>,<log>;<body>
|
||||
```
|
||||
where `<timestamp>` is an RFC3339-formatted timestamp, `<log>` is the name of
|
||||
the log (e.g. `docker-ce.out`) and `<body>` is the output. The `<log>` must
|
||||
not contain the character `;`.
|
||||
|
||||
## logwrite: writing logs to disk
|
||||
|
||||
The service `pkg/logwrite` connects to `memlogd` and streams the logs to files
|
||||
in `/var/log`. The logs are automatically rotated; by default each file has
|
||||
a maximum size of 1 MiB and up to 10 files are kept per log. The arguments
|
||||
`-max-log-files` and `-max-log-size` can be used to override these defaults.
|
||||
|
||||
Here is an example log file:
|
||||
```
|
||||
# cat /var/log/onboot.001-dhcpcd.out
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: waiting for carrier
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: carrier acquired
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out DUID 00:01:00:01:22:d4:93:05:02:50:00
|
||||
:00:00:06
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: IAID 00:00:00:06
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: adding address fe80::f346:56a6:590d:5ea4
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: soliciting an IPv6 router
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: soliciting a DHCP lease
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: offered 192.168.65.8 from 192.168.65.1 `vpnkit'
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: leased 192.168.65.8 for 7200 se
|
||||
conds
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: adding route to 192.168.65.0/24
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out eth0: adding default route via 192.16
|
||||
8.65.1
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out exiting due to oneshot
|
||||
2018-07-08T09:16:53Z onboot.001-dhcpcd.out dhcpcd exited
|
||||
```
|
||||
|
||||
## Current issues and limitations:
|
||||
|
||||
- No docker logger plugin support yet - it could be nice to add support to
|
||||
memlogd, so the docker container logs would also be gathered in one place
|
||||
- No syslog compatibility at the moment and `/dev/log` doesn’t exist. This
|
||||
socket could be created to keep syslog compatibility, e.g. by using
|
||||
https://github.com/mcuadros/go-syslog. Processes that require syslog should
|
||||
then be able to log directly to memlogd.
|
||||
- Currently no direct external hooks exposed - but options available that
|
||||
could be added. Should also be possible to pipe output to e.g. `oklog`
|
||||
from `logread` (https://github.com/oklog/oklog)
|
||||
|
||||
62
docs/platform-scaleway.md
Normal file
62
docs/platform-scaleway.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Using LinuxKit on Scaleway
|
||||
|
||||
This is a quick guide to run LinuxKit on Scaleway (only VPS x86_64 for now)
|
||||
|
||||
## Setup
|
||||
Before you proceed it's recommanded that you set up the [Scaleway CLI](https://github.com/scaleway/scaleway-cli/)
|
||||
and perform an `scw login`. This will create a `$HOME/.scwrc` file containing the required API token.
|
||||
|
||||
You can also use the `SCW_TOKEN` environment variable to set a Scaleway token.
|
||||
The `-token` flag of the `linuxkit push scaleway` and `linuxkit run scaleway` can also be used.
|
||||
|
||||
The environment variable `SCW_TARGET_REGION` is used to set the region (there is also the `-region` flag)
|
||||
|
||||
|
||||
## Build an image
|
||||
|
||||
Scaleway requires a `iso-efi` image. To create one:
|
||||
|
||||
```
|
||||
$ linuxkit build -format iso-efi examples/scaleway.yml
|
||||
```
|
||||
|
||||
### Changes needed in the yaml
|
||||
|
||||
* You have to set `root=/dev/vda` in the `cmdline` to have the right device set on boot
|
||||
* The metadata package is not only used to set the metadata, but also to signal Scaleway that the instance has booted. So it is encouraged to use it (dhcpcd must be set before)
|
||||
|
||||
## Push image
|
||||
|
||||
You have to do `linuxkit push scaleway scaleway.iso` to upload it to your Scaleway images.
|
||||
By default the image name is the name of the ISO file without the extension.
|
||||
It can be overidden with the `-img-name` flag or the `SCW_IMAGE_NAME` environment variable.
|
||||
|
||||
**Note 1:** If an image (and snapshot) of the same name exists, it will be replaced.
|
||||
|
||||
**Note 2:** The image is region specific: if you create an image in `par1` you can't use is in `ams1`.
|
||||
|
||||
### Push process
|
||||
|
||||
Building a Scaleway image have a special process. Basically:
|
||||
|
||||
* Create an `image-builder` instance with an additional volume, based on Ubuntu Xenial (only x86_64 for now)
|
||||
* Copy the ISO image on this instance
|
||||
* Use `dd` to write the image on the additional volume (`/dev/vdb` by default)
|
||||
* Terminate the instance, create a snapshot, and create an image from the snapshot
|
||||
|
||||
**Note 1:** An image is linked to a snapshot, so you can't delete a snapshot before the image.
|
||||
|
||||
**Note 2:** You can specify an already running instance to act as the image builder with the `-instance-id` flag. But if you don't specify the `-no-clean` flag it will be destroyed upon completion.
|
||||
|
||||
## Create an instance and connect to it
|
||||
|
||||
With the image created, we can now create an instance.
|
||||
|
||||
```
|
||||
linuxkit run scaleway scaleway
|
||||
```
|
||||
|
||||
By default, the instance name is `linuxkit`. It can be overidden with the `-instance-name` flag.
|
||||
If you don't set the `-no-attach` flag, you will be connected to the serial port.
|
||||
|
||||
You can edit the Scaleway example to allow you to SSH to your instance in order to use it.
|
||||
269
docs/releasing.md
Normal file
269
docs/releasing.md
Normal file
@@ -0,0 +1,269 @@
|
||||
# Making a LinuxKit release
|
||||
|
||||
This document describes the steps to make a LinuxKit release. A
|
||||
LinuxKit release consists of:
|
||||
- A git tag of the form vX.Y on a specific commit.
|
||||
- Packages on Docker hub, tagged with the release tag.
|
||||
- All sample `YAML` files updated to use the release packages
|
||||
- `linuxkit` binaries for all supported architectures.
|
||||
- Changelog entry
|
||||
|
||||
Note, we explicitly do not tag kernel images with LinuxKit release
|
||||
tags as we encourage users to stay current with the kernel
|
||||
releases. We also do not tag test and `mkimage` packages as these are
|
||||
not end-user facing.
|
||||
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
Releases can be done by any maintainer. Maintainers need to have
|
||||
access to build machines for all architectures support by LinuxKit and
|
||||
signing keys set up to sign Docker hub images.
|
||||
|
||||
|
||||
## Release preparation
|
||||
|
||||
The release preparation is by far the most time consuming task as it
|
||||
involves updating all packages and YAML files.
|
||||
|
||||
The release preparation is performed on a branch of your up-to-date
|
||||
LinuxKit clone. This document assumes that your clone of the LinuxKit
|
||||
repository is available as the `origin` remote in your local `git`
|
||||
clone (in my setup the official LinuxKit repository is available as
|
||||
`upstream` remote). If your setup is different, you may have to adjust
|
||||
some of the commands below.
|
||||
|
||||
As a starting point you have to be on the update to date master branch
|
||||
and be in the root directory of your local git clone. You should also
|
||||
have the same setup on all build machines used.
|
||||
|
||||
To make the release steps below cut-and-pastable, define the following
|
||||
environment variables:
|
||||
|
||||
```sh
|
||||
LK_RELEASE=v0.4
|
||||
LK_ROOT=$(pwd)
|
||||
LK_REMOTE=origin
|
||||
```
|
||||
|
||||
On one of the build machines (preferably the `x86_64` machine), create
|
||||
the release branch:
|
||||
|
||||
```sh
|
||||
git checkout -b rel_$LK_RELEASE
|
||||
```
|
||||
|
||||
Also make sure that you have a recent version of the `linuxkit`
|
||||
utility in the path. Either a previous release or compiled from
|
||||
master.
|
||||
|
||||
|
||||
### Update `linuxkit/alpine`
|
||||
|
||||
This step is not necessarily required if the alpine base image has
|
||||
recently been updated, but it is good to pick up any recent bug
|
||||
fixes. Updating the alpine base image is different to other packages
|
||||
and it must be performed on `x86_64` first:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/tools/alpine
|
||||
make push
|
||||
```
|
||||
|
||||
This will update `linuxkit/alpine` and change the `versions.x86_64`
|
||||
file. Check it in and push to GitHub:
|
||||
|
||||
```sh
|
||||
git commit -a -s -m "tools/alpine: Update to latest"
|
||||
git push $LK_REMOTE rel_$LK_RELEASE
|
||||
```
|
||||
|
||||
Now, on each build machine for the other supported architectures, in turn:
|
||||
|
||||
```sh
|
||||
git fetch
|
||||
git checkout rel_$LK_RELEASE
|
||||
cd $LK_ROOT/tools/alpine
|
||||
make push
|
||||
git commit -a --amend
|
||||
git push --force $LK_REMOTE rel_$LK_RELEASE
|
||||
```
|
||||
|
||||
With all supported architectures updated, head back to the `x86_64`
|
||||
machine and update the release branch:
|
||||
|
||||
```sh
|
||||
git fetch && git reset --hard $LK_REMOTE/rel_$LK_RELEASE
|
||||
```
|
||||
|
||||
Stash the tag of the alpine base image in an environment variable:
|
||||
|
||||
```sh
|
||||
LK_ALPINE=$(head -1 alpine/versions.x86_64 | sed 's,[#| ]*,,' | sed 's,\-.*$,,' | cut -d':' -f2)
|
||||
```
|
||||
|
||||
|
||||
### Update tools packages
|
||||
|
||||
On the `x86_64` machine, get the `linuxkit/alpine` tag and update the
|
||||
other packages:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/tools
|
||||
../scripts/update-component-sha.sh --image linuxkit/alpine:$LK_ALPINE
|
||||
git checkout alpine/versions.aarch64 alpine/versions.s390x
|
||||
|
||||
git commit -a -s -m "tools: Update to latest alpine base"
|
||||
git push $LK_REMOTE rel_$LK_RELEASE
|
||||
|
||||
make forcepush
|
||||
```
|
||||
|
||||
Note, the `git checkout` reverts the changes made by
|
||||
`update-component-sha.sh` to files which are accidentally updated and
|
||||
the `make forcepush` will skip building the alpine base.
|
||||
|
||||
Then, on the other build machines in turn:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/tools
|
||||
git fetch && git reset --hard $LK_REMOTE/rel_$LK_RELEASE
|
||||
make forcepush
|
||||
```
|
||||
|
||||
Back on the `x86_64` machine:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT
|
||||
for img in $(cd tools; make show-tag); do
|
||||
./scripts/update-component-sha.sh --image $img
|
||||
done
|
||||
|
||||
git commit -a -s -m "Update use of tools to latest"
|
||||
```
|
||||
|
||||
|
||||
### Update test packages
|
||||
|
||||
Next, we update the test packages to the updated alpine base on the `x86_64` system:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/test/pkg
|
||||
../../scripts/update-component-sha.sh --image linuxkit/alpine:$LK_ALPINE
|
||||
|
||||
git commit -a -s -m "tests: Update packages to latest alpine base"
|
||||
git push $LK_REMOTE rel_$LK_RELEASE
|
||||
|
||||
make push
|
||||
```
|
||||
|
||||
Then, on the other build machines in turn:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/test/pkg
|
||||
git fetch && git reset --hard $LK_REMOTE/rel_$LK_RELEASE
|
||||
make push
|
||||
```
|
||||
|
||||
Back on the `x86_64` machine:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT
|
||||
for img in $(cd test/pkg; make show-tag); do
|
||||
./scripts/update-component-sha.sh --image $img
|
||||
done
|
||||
|
||||
git commit -a -s -m "Update use of test packages to latest"
|
||||
```
|
||||
|
||||
### Update packages
|
||||
|
||||
Next, we update the LinuxKit packages. This is really the core of the
|
||||
release. The other steps above are just there to ensure consistency
|
||||
across packages.
|
||||
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/pkg
|
||||
../scripts/update-component-sha.sh --image linuxkit/alpine:$LK_ALPINE
|
||||
|
||||
git commit -a -s -m "pkgs: Update packages to latest alpine base"
|
||||
git push $LK_REMOTE rel_$LK_RELEASE
|
||||
```
|
||||
|
||||
Most of the packages are build from `linuxkit/alpine` and source code
|
||||
in the `linuxkit` repository, but some packages wrap external
|
||||
tools. The time of a release is a good opportunity to check if there
|
||||
have been updates. Specifically:
|
||||
|
||||
- `pkg/cadvisor`: Check for [new releases](https://github.com/google/cadvisor/releases).
|
||||
- `pkg/firmware` and `pkg/firmware-all`: Use latest commit from [here](https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git).
|
||||
- `pkg/node_exporter`: Check for [new releases](https://github.com/prometheus/node_exporter/releases).
|
||||
- `example/docker.yml`: Check [docker hub](https://hub.docker.com/r/library/docker/tags/) for the latest `dind` tags.
|
||||
|
||||
The build/push the packages:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/pkg
|
||||
make OPTIONS="-release $LK_RELEASE" push
|
||||
```
|
||||
|
||||
Note, the `OPTIONS` argument. This adds the release tag to the
|
||||
packages.
|
||||
|
||||
Then, on the other build machines in turn:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT/pkg
|
||||
git fetch && git reset --hard $LK_REMOTE/rel_$LK_RELEASE
|
||||
make OPTIONS="-release $LK_RELEASE" push
|
||||
```
|
||||
|
||||
Update the package tags in the YAML files:
|
||||
|
||||
```sh
|
||||
cd $LK_ROOT
|
||||
for img in $(cd pkg; make show-tag | cut -d ':' -f1); do
|
||||
./scripts/update-component-sha.sh --image $img:$LK_RELEASE
|
||||
done
|
||||
|
||||
git commit -a -s -m "Update package tags to $LK_RELEASE"
|
||||
```
|
||||
|
||||
### Final preparation steps
|
||||
|
||||
- Update the `VERSION` variable in the top-level `Makefile`
|
||||
- Create an entry in `CHANGELOG.md`. Take a look at `git log v0.3..HEAD` and pick interesting updates (of course adjust `v0.3` to the previous version).
|
||||
- Create a PR with your changes.
|
||||
|
||||
|
||||
## Releasing
|
||||
|
||||
Once the PR is merged we can do the actual release.
|
||||
|
||||
- Update your local git clone to the lastest
|
||||
- Identify the merge commit for your PR and tag it and push it to the main LinuxKit repository (remote `upstream` in my case):
|
||||
|
||||
```
|
||||
git tag $LK_RELEASE master
|
||||
git push upstream $LK_RELEASE
|
||||
```
|
||||
|
||||
Then head over to GitHub and look at the `Releases` tab. You should see the new tag. Edit it:
|
||||
- Add the changelog message
|
||||
- Head over to the Circle CI page of the master build (try the Circle CI badge in the top level `README.md`)
|
||||
- Download the artefacts and SHA256 sums file.
|
||||
- Add the downloaded binaries to the release page (drag-and-drop below the editor window)
|
||||
- Add the `sha256` sums to the release notes on the release page
|
||||
|
||||
Hit the `Publish release` button.
|
||||
|
||||
This completes the release, but you are not done, one more step is required.
|
||||
|
||||
## Post release
|
||||
|
||||
Create a PR which bumps the version number in the top-level `Makefile`
|
||||
to `$LK_RELEASE+` to make sure that the version reported by `linuxkit
|
||||
version` gets updated.
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ docker run -it --rm \
|
||||
-v $(pwd):/go/src/github.com/linuxkit/linuxkit \
|
||||
-w /go/src/github.com/linuxkit/linuxkit/src/cmd/linuxkit \
|
||||
--entrypoint /go/bin/vndr \
|
||||
linuxkit/go-compile:a8bffe875268a973ea82e5937b0fb23a5b08cc79
|
||||
linuxkit/go-compile:49a2e8f8672ca95ad0159eebcc631773503465c1
|
||||
```
|
||||
|
||||
To update a single dependency:
|
||||
@@ -38,7 +38,7 @@ docker run -it --rm \
|
||||
-v $(pwd):/go/src/github.com/linuxkit/linuxkit \
|
||||
-w /go/src/github.com/linuxkit/linuxkit/src/cmd/linuxkit \
|
||||
--entrypoint /go/bin/vndr \
|
||||
linuxkit/go-compile:a8bffe875268a973ea82e5937b0fb23a5b08cc79
|
||||
linuxkit/go-compile:49a2e8f8672ca95ad0159eebcc631773503465c1
|
||||
github.com/docker/docker
|
||||
```
|
||||
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.4
|
||||
image: linuxkit/metadata:v0.5
|
||||
services:
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
binds:
|
||||
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
|
||||
- name: nginx
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
services:
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
files:
|
||||
- path: root/.ssh/authorized_keys
|
||||
source: ~/.ssh/id_rsa.pub
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: sysfs
|
||||
image: linuxkit/sysfs:v0.4
|
||||
image: linuxkit/sysfs:v0.5
|
||||
- name: format
|
||||
image: linuxkit/format:v0.4
|
||||
image: linuxkit/format:v0.5
|
||||
- name: mount
|
||||
image: linuxkit/mount:v0.4
|
||||
image: linuxkit/mount:v0.5
|
||||
command: ["/usr/bin/mountie", "/var/lib/docker"]
|
||||
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: ntpd
|
||||
image: linuxkit/openntpd:v0.4
|
||||
image: linuxkit/openntpd:v0.5
|
||||
|
||||
- name: docker
|
||||
image: docker:17.10.0-ce-dind
|
||||
@@ -46,7 +46,7 @@ services:
|
||||
- /etc/docker/daemon.json:/etc/docker/daemon.json
|
||||
command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"]
|
||||
- name: cadvisor
|
||||
image: linuxkit/cadvisor:v0.4
|
||||
image: linuxkit/cadvisor:v0.5
|
||||
files:
|
||||
- path: var/lib/docker
|
||||
directory: true
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
# This is an example for building the open source components of Docker for Mac
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0 page_poison=1"
|
||||
init:
|
||||
- linuxkit/vpnkit-expose-port:v0.4 # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/vpnkit-expose-port:v0.5 # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
# support metadata for optional config in /run/config
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.4
|
||||
image: linuxkit/metadata:v0.5
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: sysfs
|
||||
image: linuxkit/sysfs:v0.4
|
||||
image: linuxkit/sysfs:v0.5
|
||||
- name: binfmt
|
||||
image: linuxkit/binfmt:v0.4
|
||||
image: linuxkit/binfmt:v0.5
|
||||
# Format and mount the disk image in /var/lib/docker
|
||||
- name: format
|
||||
image: linuxkit/format:v0.4
|
||||
image: linuxkit/format:v0.5
|
||||
- name: mount
|
||||
image: linuxkit/mount:v0.4
|
||||
image: linuxkit/mount:v0.5
|
||||
command: ["/usr/bin/mountie", "/var/lib"]
|
||||
# make a swap file on the mounted disk
|
||||
- name: swap
|
||||
image: linuxkit/swap:v0.4
|
||||
image: linuxkit/swap:v0.5
|
||||
command: ["/swap.sh", "--path", "/var/lib/swap", "--size", "1024M"]
|
||||
# mount-vpnkit mounts the 9p share used by vpnkit to coordinate port forwarding
|
||||
- name: mount-vpnkit
|
||||
image: alpine:3.7
|
||||
image: alpine:3.8
|
||||
binds:
|
||||
- /var/:/host_var:rbind,rshared
|
||||
capabilities:
|
||||
@@ -39,46 +39,46 @@ onboot:
|
||||
command: ["sh", "-c", "mkdir -p /host_var/vpnkit/port && mount -v -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 port /host_var/vpnkit"]
|
||||
# move logs to the mounted disk (this is a temporary fix until we can limit the log sizes)
|
||||
- name: move-logs
|
||||
image: alpine:3.7
|
||||
image: alpine:3.8
|
||||
binds:
|
||||
- /var:/host_var
|
||||
command: ["sh", "-c", "mv -v /host_var/log /host_var/lib && ln -vs /var/lib/log /host_var/log"]
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
# Enable acpi to shutdown on power events
|
||||
- name: acpid
|
||||
image: linuxkit/acpid:v0.4
|
||||
image: linuxkit/acpid:v0.5
|
||||
# Enable getty for easier debugging
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
# Run ntpd to keep time synchronised in the VM
|
||||
- name: ntpd
|
||||
image: linuxkit/openntpd:v0.4
|
||||
image: linuxkit/openntpd:v0.5
|
||||
# VSOCK to unix domain socket forwarding. Forwards guest /var/run/docker.sock
|
||||
# to a socket on the host.
|
||||
- name: vsudd
|
||||
image: linuxkit/vsudd:v0.4
|
||||
image: linuxkit/vsudd:v0.5
|
||||
binds:
|
||||
- /var/run:/var/run
|
||||
command: ["/vsudd", "-inport", "2376:unix:/var/run/docker.sock"]
|
||||
# vpnkit-forwarder forwards network traffic to/from the host via VSOCK port 62373.
|
||||
# It needs access to the vpnkit 9P coordination share
|
||||
- name: vpnkit-forwarder
|
||||
image: linuxkit/vpnkit-forwarder:v0.4
|
||||
image: linuxkit/vpnkit-forwarder:v0.5
|
||||
binds:
|
||||
- /var/vpnkit:/port
|
||||
net: host
|
||||
command: ["/vpnkit-forwarder", "-vsockPort", "62373"]
|
||||
# Monitor for image deletes and invoke a TRIM on the container filesystem
|
||||
- name: trim-after-delete
|
||||
image: linuxkit/trim-after-delete:v0.4
|
||||
image: linuxkit/trim-after-delete:v0.5
|
||||
# When the host resumes from sleep, force a clock resync
|
||||
- name: host-timesync-daemon
|
||||
image: linuxkit/host-timesync-daemon:v0.4
|
||||
image: linuxkit/host-timesync-daemon:v0.5
|
||||
# Run dockerd with the vpnkit userland proxy from the vpnkit-forwarder container.
|
||||
# Bind mounts /var/run to allow vsudd to connect to docker.sock, /var/vpnkit
|
||||
# for vpnkit coordination and /run/config/docker for the configuration file.
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: sysfs
|
||||
image: linuxkit/sysfs:v0.4
|
||||
image: linuxkit/sysfs:v0.5
|
||||
- name: format
|
||||
image: linuxkit/format:v0.4
|
||||
image: linuxkit/format:v0.5
|
||||
- name: mount
|
||||
image: linuxkit/mount:v0.4
|
||||
image: linuxkit/mount:v0.5
|
||||
command: ["/usr/bin/mountie", "/var/lib/docker"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
- name: ntpd
|
||||
image: linuxkit/openntpd:v0.4
|
||||
image: linuxkit/openntpd:v0.5
|
||||
- name: docker
|
||||
image: docker:17.09.0-ce-dind
|
||||
image: docker:18.05.0-ce-dind
|
||||
capabilities:
|
||||
- all
|
||||
net: host
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.4
|
||||
image: linuxkit/metadata:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
binds:
|
||||
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
|
||||
- name: nginx
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
# to make insecure with passwordless root login, uncomment following lines
|
||||
#env:
|
||||
# - INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
files:
|
||||
- path: etc/getty.shadow
|
||||
# sample sets password for root to "abcdefgh" (without quotes)
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
onshutdown:
|
||||
- name: shutdown
|
||||
@@ -18,7 +18,7 @@ onshutdown:
|
||||
command: ["/bin/echo", "so long and thanks for all the fish"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
runtime:
|
||||
@@ -30,7 +30,7 @@ services:
|
||||
destination: writeable-host-etc
|
||||
options: ["rw", "lowerdir=/etc", "upperdir=/run/hostetc/upper", "workdir=/run/hostetc/work"]
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: nginx
|
||||
image: nginx:1.13.8-alpine
|
||||
capabilities:
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: influxdb
|
||||
|
||||
34
examples/logging.yml
Normal file
34
examples/logging.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
# Simple example of using an external logging service
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
|
||||
init:
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
- linuxkit/memlogd:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
# Inside the getty type `/proc/1/root/usr/bin/logread -F` to follow the log
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
# A service which generates log messages for testing
|
||||
- name: write-to-the-logs
|
||||
image: alpine
|
||||
command: ["/bin/sh", "-c", "while /bin/true; do echo hello $(date); sleep 1; done" ]
|
||||
- name: write-and-rotate-logs
|
||||
image: linuxkit/logwrite:v0.5
|
||||
- name: kmsg
|
||||
image: linuxkit/kmsg:v0.5
|
||||
trust:
|
||||
org:
|
||||
- linuxkit
|
||||
- library
|
||||
@@ -1,17 +1,17 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
trust:
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
- name: node_exporter
|
||||
image: linuxkit/node_exporter:v0.4
|
||||
image: linuxkit/node_exporter:v0.5
|
||||
trust:
|
||||
org:
|
||||
- linuxkit
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.4
|
||||
image: linuxkit/metadata:v0.5
|
||||
command: ["/usr/bin/metadata", "openstack"]
|
||||
services:
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
binds:
|
||||
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
|
||||
- name: nginx
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
# for arm64 then the 'ucode' line in the kernel section can be left
|
||||
# out.
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyAMA0"
|
||||
ucode: ""
|
||||
onboot:
|
||||
- name: modprobe
|
||||
image: linuxkit/modprobe:v0.4
|
||||
image: linuxkit/modprobe:v0.5
|
||||
command: ["modprobe", "nicvf"]
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: console=ttyS1
|
||||
ucode: intel-ucode.cpio
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/firmware:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
- linuxkit/firmware:v0.5
|
||||
onboot:
|
||||
- name: rngd1
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
command: ["/sbin/rngd", "-1"]
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.4
|
||||
image: linuxkit/metadata:v0.5
|
||||
command: ["/usr/bin/metadata", "packet"]
|
||||
services:
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
files:
|
||||
- path: root/.ssh/authorized_keys
|
||||
source: ~/.ssh/id_rsa.pub
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# Minimal YAML to run a redis server (used at DockerCon'17)
|
||||
# connect: nc localhost 6379
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
# Currently redis:4.0.6-alpine has trust issue with multi-arch
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.34-rt
|
||||
image: linuxkit/kernel:4.14.54-rt
|
||||
cmdline: "console=tty0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
- name: open-vm-tools
|
||||
image: linuxkit/open-vm-tools:v0.4
|
||||
image: linuxkit/open-vm-tools:v0.5
|
||||
- name: nginx
|
||||
image: nginx:1.13.8-alpine
|
||||
capabilities:
|
||||
|
||||
29
examples/scaleway.yml
Normal file
29
examples/scaleway.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0 root=/dev/vda"
|
||||
init:
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: rngd1
|
||||
image: linuxkit/rngd:v0.5
|
||||
command: ["/sbin/rngd", "-1"]
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.5
|
||||
trust:
|
||||
org:
|
||||
- linuxkit
|
||||
@@ -1,28 +1,28 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: rngd1
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
command: ["/sbin/rngd", "-1"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
files:
|
||||
- path: root/.ssh/authorized_keys
|
||||
source: ~/.ssh/id_rsa.pub
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: format
|
||||
image: linuxkit/format:v0.4
|
||||
image: linuxkit/format:v0.5
|
||||
- name: mount
|
||||
image: linuxkit/mount:v0.4
|
||||
image: linuxkit/mount:v0.5
|
||||
command: ["/usr/bin/mountie", "/var/external"]
|
||||
- name: swap
|
||||
image: linuxkit/swap:v0.4
|
||||
image: linuxkit/swap:v0.5
|
||||
# to use unencrypted swap, use:
|
||||
# command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G"]
|
||||
command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G", "--encrypt"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
trust:
|
||||
org:
|
||||
- linuxkit
|
||||
|
||||
@@ -2,25 +2,25 @@ kernel:
|
||||
image: linuxkit/kernel:4.9.38
|
||||
cmdline: "console=tty0 console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: tss
|
||||
image: linuxkit/tss:v0.4
|
||||
image: linuxkit/tss:v0.5
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
files:
|
||||
- path: etc/getty.shadow
|
||||
# sample sets password for root to "abcdefgh" (without quotes)
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
- name: nginx
|
||||
image: nginx:1.13.8-alpine
|
||||
capabilities:
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: mount-vpnkit
|
||||
image: alpine:3.7
|
||||
image: alpine:3.8
|
||||
binds:
|
||||
- /var/:/host_var:rbind,rshared
|
||||
capabilities:
|
||||
@@ -19,9 +19,9 @@ onboot:
|
||||
command: ["sh", "-c", "mkdir /host_var/vpnkit && mount -v -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 port /host_var/vpnkit"]
|
||||
services:
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
- name: vpnkit-forwarder
|
||||
image: linuxkit/vpnkit-forwarder:v0.4
|
||||
image: linuxkit/vpnkit-forwarder:v0.5
|
||||
binds:
|
||||
- /var/vpnkit:/port
|
||||
net: host
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
services:
|
||||
- name: vsudd
|
||||
image: linuxkit/vsudd:v0.4
|
||||
image: linuxkit/vsudd:v0.5
|
||||
binds:
|
||||
- /run/containerd/containerd.sock:/run/containerd/containerd.sock
|
||||
command: ["/vsudd",
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: metadata
|
||||
image: linuxkit/metadata:v0.4
|
||||
image: linuxkit/metadata:v0.5
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: sshd
|
||||
image: linuxkit/sshd:v0.4
|
||||
image: linuxkit/sshd:v0.5
|
||||
binds:
|
||||
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
|
||||
- name: nginx
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.14.40
|
||||
image: linuxkit/kernel:4.14.54
|
||||
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
|
||||
init:
|
||||
- linuxkit/init:v0.4
|
||||
- linuxkit/runc:v0.4
|
||||
- linuxkit/containerd:v0.4
|
||||
- linuxkit/ca-certificates:v0.4
|
||||
- linuxkit/init:v0.5
|
||||
- linuxkit/runc:v0.5
|
||||
- linuxkit/containerd:v0.5
|
||||
- linuxkit/ca-certificates:v0.5
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:v0.4
|
||||
image: linuxkit/sysctl:v0.5
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:v0.4
|
||||
image: linuxkit/dhcpcd:v0.5
|
||||
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||||
- name: wg0
|
||||
image: linuxkit/ip:v0.4
|
||||
image: linuxkit/ip:v0.5
|
||||
net: new
|
||||
binds:
|
||||
- /etc/wireguard:/etc/wireguard
|
||||
@@ -26,7 +26,7 @@ onboot:
|
||||
bindNS:
|
||||
net: /run/netns/wg0
|
||||
- name: wg1
|
||||
image: linuxkit/ip:v0.4
|
||||
image: linuxkit/ip:v0.5
|
||||
net: new
|
||||
binds:
|
||||
- /etc/wireguard:/etc/wireguard
|
||||
@@ -40,12 +40,12 @@ onboot:
|
||||
net: /run/netns/wg1
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:v0.4
|
||||
image: linuxkit/getty:v0.5
|
||||
env:
|
||||
- INSECURE=true
|
||||
net: /run/netns/wg1
|
||||
- name: rngd
|
||||
image: linuxkit/rngd:v0.4
|
||||
image: linuxkit/rngd:v0.5
|
||||
- name: nginx
|
||||
image: nginx:1.13.8-alpine
|
||||
net: /run/netns/wg0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM linuxkit/alpine:90571a1a9059f3bf33ca3431bc5396aa837a47d3 AS kernel-build
|
||||
FROM linuxkit/alpine:6264e5b39af8eb1da7ffa4c05a7ccc597da01197 AS kernel-build
|
||||
RUN apk add \
|
||||
argp-standalone \
|
||||
automake \
|
||||
@@ -42,8 +42,8 @@ ENV KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VE
|
||||
ENV KERNEL_SHA256_SUMS=https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
|
||||
ENV KERNEL_PGP2_SIGN=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VERSION}.tar.sign
|
||||
|
||||
ENV WIREGUARD_VERSION=0.0.20180420
|
||||
ENV WIREGUARD_SHA256="b58cd2acf9e8d3fe9044c06c0056bd74da1f5673a456f011d36eee3f6fb1da16"
|
||||
ENV WIREGUARD_VERSION=0.0.20180708
|
||||
ENV WIREGUARD_SHA256="5e38d554f7d1e3a64e3a5319ca1a3b790c84ed89c896586c490a93ac1f953a91"
|
||||
ENV WIREGUARD_URL=https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${WIREGUARD_VERSION}.tar.xz
|
||||
|
||||
# We copy the entire directory. This copies some unneeded files, but
|
||||
@@ -84,6 +84,11 @@ RUN set -e && \
|
||||
done; \
|
||||
fi
|
||||
|
||||
RUN mkdir -p /out/src
|
||||
|
||||
# Save kernel source
|
||||
RUN tar cJf /out/src/linux.tar.xz /linux
|
||||
|
||||
# Kernel config
|
||||
RUN case $(uname -m) in \
|
||||
x86_64) \
|
||||
@@ -109,7 +114,6 @@ RUN case $(uname -m) in \
|
||||
make oldconfig && \
|
||||
if [ -z "${EXTRA}" ] && [ -z "${DEBUG}" ]; then diff .config ${KERNEL_DEF_CONF}; fi
|
||||
|
||||
RUN mkdir /out
|
||||
|
||||
# Kernel
|
||||
RUN make -j "$(getconf _NPROCESSORS_ONLN)" KCFLAGS="-fno-pie" && \
|
||||
@@ -128,8 +132,9 @@ RUN make -j "$(getconf _NPROCESSORS_ONLN)" KCFLAGS="-fno-pie" && \
|
||||
([ -n "${DEBUG}" ] && cp vmlinux /out || true)
|
||||
|
||||
# WireGuard
|
||||
RUN curl -sSL -o /wireguard.tar.xz "${WIREGUARD_URL}" && \
|
||||
RUN curl -fsSL -o /wireguard.tar.xz "${WIREGUARD_URL}" && \
|
||||
echo "${WIREGUARD_SHA256} /wireguard.tar.xz" | sha256sum -c - && \
|
||||
cp /wireguard.tar.xz /out/src/ && \
|
||||
tar -C / --one-top-level=wireguard --strip-components=2 -xJf /wireguard.tar.xz "WireGuard-${WIREGUARD_VERSION}/src" && \
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)" M="/wireguard" modules
|
||||
|
||||
@@ -184,7 +189,7 @@ ENV UCODE_URL=https://downloadmirror.intel.com/27776/eng/microcode-20180425.tgz
|
||||
RUN set -e && \
|
||||
if [ $(uname -m) == x86_64 ]; then \
|
||||
cd /ucode && \
|
||||
curl -sSL -o microcode.tar.gz ${UCODE_URL} && \
|
||||
curl -fsSL -o microcode.tar.gz ${UCODE_URL} && \
|
||||
md5sum -c intel-ucode-md5sums && \
|
||||
tar xf microcode.tar.gz && \
|
||||
rm -f intel-ucode/list && \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM linuxkit/alpine:90571a1a9059f3bf33ca3431bc5396aa837a47d3 AS kernel-build
|
||||
FROM linuxkit/alpine:6264e5b39af8eb1da7ffa4c05a7ccc597da01197 AS kernel-build
|
||||
RUN apk add \
|
||||
argp-standalone \
|
||||
bison \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
ARG IMAGE
|
||||
FROM ${IMAGE} AS ksrc
|
||||
FROM linuxkit/alpine:90571a1a9059f3bf33ca3431bc5396aa837a47d3 AS build
|
||||
FROM linuxkit/alpine:6264e5b39af8eb1da7ffa4c05a7ccc597da01197 AS build
|
||||
RUN apk add \
|
||||
attr-dev \
|
||||
autoconf \
|
||||
|
||||
@@ -218,21 +218,21 @@ endef
|
||||
# Debug targets only for latest stable and LTS stable
|
||||
#
|
||||
ifeq ($(ARCH),x86_64)
|
||||
$(eval $(call kernel,4.16.8,4.16.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.40,4.14.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.40,4.14.x,,-dbg))
|
||||
$(eval $(call kernel,4.14.34,4.14.x,-rt,))
|
||||
$(eval $(call kernel,4.9.99,4.9.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.4.131,4.4.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.17.5,4.17.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.54,4.14.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.54,4.14.x,,-dbg))
|
||||
$(eval $(call kernel,4.14.53,4.14.x,-rt,))
|
||||
$(eval $(call kernel,4.9.111,4.9.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.4.139,4.4.x,$(EXTRA),$(DEBUG)))
|
||||
|
||||
else ifeq ($(ARCH),aarch64)
|
||||
$(eval $(call kernel,4.16.8,4.16.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.40,4.14.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.34,4.14.x,-rt,))
|
||||
$(eval $(call kernel,4.17.5,4.17.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.54,4.14.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.53,4.14.x,-rt,))
|
||||
|
||||
else ifeq ($(ARCH),s390x)
|
||||
$(eval $(call kernel,4.16.8,4.16.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.40,4.14.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.17.5,4.17.x,$(EXTRA),$(DEBUG)))
|
||||
$(eval $(call kernel,4.14.54,4.14.x,$(EXTRA),$(DEBUG)))
|
||||
endif
|
||||
|
||||
# Target for kernel config
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.14.40 Kernel Configuration
|
||||
# Linux/arm64 4.14.54 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
@@ -488,6 +488,7 @@ CONFIG_ARM64_ERRATUM_819472=y
|
||||
CONFIG_ARM64_ERRATUM_832075=y
|
||||
CONFIG_ARM64_ERRATUM_834220=y
|
||||
CONFIG_ARM64_ERRATUM_843419=y
|
||||
CONFIG_ARM64_ERRATUM_1024718=y
|
||||
CONFIG_CAVIUM_ERRATUM_22375=y
|
||||
CONFIG_CAVIUM_ERRATUM_23154=y
|
||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||
@@ -1059,6 +1060,9 @@ CONFIG_NF_CONNTRACK_IPV6=y
|
||||
# CONFIG_NF_SOCKET_IPV6 is not set
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_NFT_REJECT_IPV6=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
# CONFIG_NFT_FIB_IPV6 is not set
|
||||
@@ -1066,10 +1070,7 @@ CONFIG_NF_DUP_IPV6=y
|
||||
CONFIG_NF_REJECT_IPV6=y
|
||||
CONFIG_NF_LOG_IPV6=y
|
||||
CONFIG_NF_NAT_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_IP6_NF_IPTABLES=y
|
||||
CONFIG_IP6_NF_MATCH_AH=y
|
||||
CONFIG_IP6_NF_MATCH_EUI64=y
|
||||
@@ -2177,7 +2178,7 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
|
||||
CONFIG_TCG_ATMEL=m
|
||||
CONFIG_TCG_INFINEON=m
|
||||
CONFIG_TCG_XEN=m
|
||||
CONFIG_TCG_CRB=m
|
||||
CONFIG_TCG_CRB=y
|
||||
CONFIG_TCG_VTPM_PROXY=m
|
||||
CONFIG_TCG_TIS_ST33ZP24=m
|
||||
CONFIG_TCG_TIS_ST33ZP24_I2C=m
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/s390 4.14.40 Kernel Configuration
|
||||
# Linux/s390 4.14.54 Kernel Configuration
|
||||
#
|
||||
CONFIG_MMU=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
@@ -999,6 +999,9 @@ CONFIG_NF_CONNTRACK_IPV6=y
|
||||
# CONFIG_NF_SOCKET_IPV6 is not set
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_NFT_REJECT_IPV6=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
# CONFIG_NFT_FIB_IPV6 is not set
|
||||
@@ -1006,10 +1009,7 @@ CONFIG_NF_DUP_IPV6=y
|
||||
CONFIG_NF_REJECT_IPV6=y
|
||||
CONFIG_NF_LOG_IPV6=y
|
||||
CONFIG_NF_NAT_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_IP6_NF_IPTABLES=y
|
||||
CONFIG_IP6_NF_MATCH_AH=y
|
||||
CONFIG_IP6_NF_MATCH_EUI64=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.14.40 Kernel Configuration
|
||||
# Linux/x86 4.14.54 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
@@ -1219,6 +1219,9 @@ CONFIG_NF_CONNTRACK_IPV6=y
|
||||
# CONFIG_NF_SOCKET_IPV6 is not set
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_NFT_REJECT_IPV6=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
# CONFIG_NFT_FIB_IPV6 is not set
|
||||
@@ -1226,10 +1229,7 @@ CONFIG_NF_DUP_IPV6=y
|
||||
CONFIG_NF_REJECT_IPV6=y
|
||||
CONFIG_NF_LOG_IPV6=y
|
||||
CONFIG_NF_NAT_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_IP6_NF_IPTABLES=y
|
||||
CONFIG_IP6_NF_MATCH_AH=y
|
||||
CONFIG_IP6_NF_MATCH_EUI64=y
|
||||
@@ -2241,7 +2241,7 @@ CONFIG_TCG_NSC=m
|
||||
CONFIG_TCG_ATMEL=m
|
||||
CONFIG_TCG_INFINEON=m
|
||||
CONFIG_TCG_XEN=m
|
||||
CONFIG_TCG_CRB=m
|
||||
CONFIG_TCG_CRB=y
|
||||
CONFIG_TCG_VTPM_PROXY=m
|
||||
CONFIG_TCG_TIS_ST33ZP24=m
|
||||
CONFIG_TCG_TIS_ST33ZP24_I2C=m
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.16.8 Kernel Configuration
|
||||
# Linux/arm64 4.17.5 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
@@ -35,6 +35,7 @@ CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_PGTABLE_LEVELS=4
|
||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
||||
CONFIG_MULTI_IRQ_HANDLER=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||
CONFIG_THREAD_INFO_IN_TASK=y
|
||||
@@ -200,7 +201,6 @@ CONFIG_MEMBARRIER=y
|
||||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
|
||||
CONFIG_KALLSYMS_BASE_RELATIVE=y
|
||||
CONFIG_BPF_SYSCALL=y
|
||||
CONFIG_BPF_JIT_ALWAYS_ON=y
|
||||
@@ -222,14 +222,12 @@ CONFIG_SLAB=y
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_STATIC_KEYS_SELFTEST is not set
|
||||
CONFIG_UPROBES=y
|
||||
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
|
||||
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
||||
CONFIG_KRETPROBES=y
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
@@ -270,7 +268,6 @@ CONFIG_HAVE_CC_STACKPROTECTOR=y
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_STRONG=y
|
||||
# CONFIG_CC_STACKPROTECTOR_AUTO is not set
|
||||
CONFIG_THIN_ARCHIVES=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
@@ -281,14 +278,9 @@ CONFIG_MODULES_USE_ELF_RELA=y
|
||||
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
||||
CONFIG_ARCH_MMAP_RND_BITS=18
|
||||
# CONFIG_HAVE_ARCH_HASH is not set
|
||||
# CONFIG_ISA_BUS_API is not set
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
|
||||
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
||||
CONFIG_VMAP_STACK=y
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
|
||||
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
@@ -407,7 +399,6 @@ CONFIG_ARCH_THUNDER=y
|
||||
CONFIG_ARCH_THUNDER2=y
|
||||
# CONFIG_ARCH_UNIPHIER is not set
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
# CONFIG_ARCH_VULCAN is not set
|
||||
# CONFIG_ARCH_XGENE is not set
|
||||
# CONFIG_ARCH_ZX is not set
|
||||
# CONFIG_ARCH_ZYNQMP is not set
|
||||
@@ -553,7 +544,6 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
CONFIG_HAVE_MEMBLOCK=y
|
||||
CONFIG_NO_BOOTMEM=y
|
||||
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_MEMORY_BALLOON=y
|
||||
CONFIG_BALLOON_COMPACTION=y
|
||||
@@ -568,7 +558,6 @@ CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
|
||||
# CONFIG_ARCH_WANTS_THP_SWAP is not set
|
||||
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
|
||||
# CONFIG_CLEANCACHE is not set
|
||||
# CONFIG_FRONTSWAP is not set
|
||||
@@ -590,6 +579,7 @@ CONFIG_XEN=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDEN_EL2_VECTORS=y
|
||||
# CONFIG_ARM64_SW_TTBR0_PAN is not set
|
||||
|
||||
#
|
||||
@@ -607,7 +597,6 @@ CONFIG_ARM64_UAO=y
|
||||
# CONFIG_ARM64_PMEM is not set
|
||||
CONFIG_ARM64_RAS_EXTN=y
|
||||
CONFIG_ARM64_SVE=y
|
||||
CONFIG_ARM64_MODULE_CMODEL_LARGE=y
|
||||
CONFIG_ARM64_MODULE_PLTS=y
|
||||
CONFIG_RELOCATABLE=y
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
@@ -630,7 +619,6 @@ CONFIG_BINFMT_ELF=y
|
||||
CONFIG_ELFCORE=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_SCRIPT=y
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_COREDUMP=y
|
||||
# CONFIG_COMPAT is not set
|
||||
@@ -667,7 +655,6 @@ CONFIG_DT_IDLE_STATES=y
|
||||
# ARM CPU Idle Drivers
|
||||
#
|
||||
CONFIG_ARM_CPUIDLE=y
|
||||
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
@@ -695,7 +682,6 @@ CONFIG_CPUFREQ_DT_PLATDEV=y
|
||||
# CONFIG_ACPI_CPPC_CPUFREQ is not set
|
||||
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||
CONFIG_ARM_DT_BL_CPUFREQ=y
|
||||
# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
|
||||
# CONFIG_QORIQ_CPUFREQ is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_NET_INGRESS=y
|
||||
@@ -735,6 +721,7 @@ CONFIG_NET_IPGRE_DEMUX=y
|
||||
CONFIG_NET_IP_TUNNEL=y
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE_COMMON=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
@@ -1081,6 +1068,9 @@ CONFIG_NF_CONNTRACK_IPV6=y
|
||||
# CONFIG_NF_SOCKET_IPV6 is not set
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_NFT_REJECT_IPV6=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
# CONFIG_NFT_FIB_IPV6 is not set
|
||||
@@ -1088,10 +1078,7 @@ CONFIG_NF_DUP_IPV6=y
|
||||
CONFIG_NF_REJECT_IPV6=y
|
||||
CONFIG_NF_LOG_IPV6=y
|
||||
CONFIG_NF_NAT_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_IP6_NF_IPTABLES=y
|
||||
CONFIG_IP6_NF_MATCH_AH=y
|
||||
CONFIG_IP6_NF_MATCH_EUI64=y
|
||||
@@ -1229,6 +1216,7 @@ CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_EMATCH_META=y
|
||||
CONFIG_NET_EMATCH_TEXT=y
|
||||
CONFIG_NET_EMATCH_IPSET=y
|
||||
# CONFIG_NET_EMATCH_IPT is not set
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_ACT_POLICE=y
|
||||
CONFIG_NET_ACT_GACT=y
|
||||
@@ -1292,7 +1280,6 @@ CONFIG_NET_FLOW_LIMIT=y
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
# CONFIG_AF_KCM is not set
|
||||
# CONFIG_STREAM_PARSER is not set
|
||||
CONFIG_FIB_RULES=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_WIMAX is not set
|
||||
@@ -1339,27 +1326,23 @@ CONFIG_ALLOW_DEV_COREDUMP=y
|
||||
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
|
||||
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
|
||||
CONFIG_SYS_HYPERVISOR=y
|
||||
# CONFIG_GENERIC_CPU_DEVICES is not set
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_REGMAP_MMIO=y
|
||||
# CONFIG_DMA_SHARED_BUFFER is not set
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
|
||||
#
|
||||
# Bus devices
|
||||
#
|
||||
CONFIG_ARM_CCI=y
|
||||
CONFIG_ARM_CCI_PMU=y
|
||||
CONFIG_ARM_CCI400_COMMON=y
|
||||
CONFIG_ARM_CCI400_PMU=y
|
||||
CONFIG_ARM_CCI5xx_PMU=y
|
||||
CONFIG_ARM_CCN=y
|
||||
# CONFIG_BRCMSTB_GISB_ARB is not set
|
||||
# CONFIG_HISILICON_LPC is not set
|
||||
CONFIG_QCOM_EBI2=y
|
||||
# CONFIG_SIMPLE_PM_BUS is not set
|
||||
CONFIG_VEXPRESS_CONFIG=y
|
||||
# CONFIG_FSL_MC_BUS is not set
|
||||
# CONFIG_CONNECTOR is not set
|
||||
# CONFIG_MTD is not set
|
||||
CONFIG_DTC=y
|
||||
@@ -1390,7 +1373,6 @@ CONFIG_CDROM=y
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
# CONFIG_BLK_DEV_UMEM is not set
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
|
||||
CONFIG_BLK_DEV_CRYPTOLOOP=y
|
||||
@@ -1422,7 +1404,6 @@ CONFIG_BLK_DEV_NVME=y
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_SENSORS_LIS3LV02D is not set
|
||||
# CONFIG_AD525X_DPOT is not set
|
||||
# CONFIG_DUMMY_IRQ is not set
|
||||
# CONFIG_PHANTOM is not set
|
||||
@@ -1443,7 +1424,6 @@ CONFIG_BLK_DEV_NVME=y
|
||||
# CONFIG_SRAM is not set
|
||||
CONFIG_VEXPRESS_SYSCFG=y
|
||||
# CONFIG_PCI_ENDPOINT_TEST is not set
|
||||
# CONFIG_MISC_RTSX is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
#
|
||||
@@ -1500,10 +1480,6 @@ CONFIG_VEXPRESS_SYSCFG=y
|
||||
#
|
||||
# CONFIG_GENWQE is not set
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_CXL_BASE is not set
|
||||
# CONFIG_CXL_AFU_DRIVER_OPS is not set
|
||||
# CONFIG_CXL_LIB is not set
|
||||
# CONFIG_OCXL_BASE is not set
|
||||
# CONFIG_MISC_RTSX_PCI is not set
|
||||
# CONFIG_MISC_RTSX_USB is not set
|
||||
|
||||
@@ -1514,7 +1490,6 @@ CONFIG_SCSI_MOD=y
|
||||
CONFIG_RAID_ATTRS=m
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
# CONFIG_SCSI_MQ_DEFAULT is not set
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
|
||||
@@ -1577,7 +1552,6 @@ CONFIG_SCSI_SMARTPQI=m
|
||||
CONFIG_XEN_SCSI_FRONTEND=y
|
||||
# CONFIG_SCSI_SNIC is not set
|
||||
# CONFIG_SCSI_DMX3191D is not set
|
||||
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_SCSI_INITIO is not set
|
||||
# CONFIG_SCSI_INIA100 is not set
|
||||
@@ -1598,7 +1572,6 @@ CONFIG_SCSI_VIRTIO=y
|
||||
# CONFIG_SCSI_OSD_INITIATOR is not set
|
||||
CONFIG_HAVE_PATA_PLATFORM=y
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
# CONFIG_ATA_VERBOSE_ERROR is not set
|
||||
CONFIG_ATA_ACPI=y
|
||||
# CONFIG_SATA_ZPODD is not set
|
||||
@@ -1761,8 +1734,6 @@ CONFIG_GENEVE=m
|
||||
# CONFIG_GTP is not set
|
||||
# CONFIG_MACSEC is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
CONFIG_TUN=y
|
||||
CONFIG_TAP=y
|
||||
# CONFIG_TUN_VNET_CROSS_LE is not set
|
||||
@@ -1852,6 +1823,7 @@ CONFIG_IXGBE_HWMON=y
|
||||
CONFIG_IXGBEVF=m
|
||||
CONFIG_I40E=m
|
||||
CONFIG_I40EVF=m
|
||||
CONFIG_ICE=m
|
||||
# CONFIG_FM10K is not set
|
||||
# CONFIG_NET_VENDOR_I825XX is not set
|
||||
# CONFIG_JME is not set
|
||||
@@ -1874,6 +1846,7 @@ CONFIG_MLX5_ESWITCH=y
|
||||
# CONFIG_FEALNX is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_NETRONOME is not set
|
||||
# CONFIG_NET_VENDOR_NI is not set
|
||||
# CONFIG_NET_VENDOR_NVIDIA is not set
|
||||
# CONFIG_NET_VENDOR_OKI is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
@@ -2206,7 +2179,6 @@ CONFIG_HW_RANDOM_EXYNOS=y
|
||||
# PCMCIA character devices
|
||||
#
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_HPET is not set
|
||||
CONFIG_TCG_TPM=y
|
||||
CONFIG_HW_RANDOM_TPM=y
|
||||
CONFIG_TCG_TIS_CORE=m
|
||||
@@ -2217,7 +2189,7 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
|
||||
CONFIG_TCG_ATMEL=m
|
||||
CONFIG_TCG_INFINEON=m
|
||||
CONFIG_TCG_XEN=m
|
||||
CONFIG_TCG_CRB=m
|
||||
CONFIG_TCG_CRB=y
|
||||
CONFIG_TCG_VTPM_PROXY=m
|
||||
CONFIG_TCG_TIS_ST33ZP24=m
|
||||
CONFIG_TCG_TIS_ST33ZP24_I2C=m
|
||||
@@ -2294,10 +2266,10 @@ CONFIG_I2C_BCM2835=m
|
||||
# CONFIG_I2C_NOMADIK is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PCA_PLATFORM is not set
|
||||
# CONFIG_I2C_PXA_PCI is not set
|
||||
# CONFIG_I2C_QUP is not set
|
||||
# CONFIG_I2C_RK3X is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_SYNQUACER is not set
|
||||
# CONFIG_I2C_VERSATILE is not set
|
||||
CONFIG_I2C_THUNDERX=m
|
||||
# CONFIG_I2C_XILINX is not set
|
||||
@@ -2369,6 +2341,7 @@ CONFIG_PINCTRL_BCM2835=y
|
||||
# CONFIG_PINCTRL_MSM8998 is not set
|
||||
# CONFIG_PINCTRL_QDF2XXX is not set
|
||||
# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
|
||||
# CONFIG_PINCTRL_SDM845 is not set
|
||||
CONFIG_PINCTRL_SAMSUNG=y
|
||||
CONFIG_PINCTRL_EXYNOS=y
|
||||
CONFIG_PINCTRL_EXYNOS_ARM64=y
|
||||
@@ -2386,11 +2359,13 @@ CONFIG_GPIO_GENERIC=y
|
||||
# CONFIG_GPIO_74XX_MMIO is not set
|
||||
# CONFIG_GPIO_ALTERA is not set
|
||||
# CONFIG_GPIO_AMDPT is not set
|
||||
CONFIG_GPIO_RASPBERRYPI_EXP=y
|
||||
# CONFIG_GPIO_DWAPB is not set
|
||||
# CONFIG_GPIO_EXAR is not set
|
||||
# CONFIG_GPIO_FTGPIO010 is not set
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
# CONFIG_GPIO_GRGPIO is not set
|
||||
# CONFIG_GPIO_HLWD is not set
|
||||
# CONFIG_GPIO_MB86S7X is not set
|
||||
# CONFIG_GPIO_MOCKUP is not set
|
||||
# CONFIG_GPIO_MPC8XXX is not set
|
||||
@@ -2600,6 +2575,7 @@ CONFIG_HWMON=y
|
||||
#
|
||||
# CONFIG_SENSORS_ACPI_POWER is not set
|
||||
CONFIG_THERMAL=y
|
||||
# CONFIG_THERMAL_STATISTICS is not set
|
||||
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
|
||||
CONFIG_THERMAL_HWMON=y
|
||||
CONFIG_THERMAL_OF=y
|
||||
@@ -2730,7 +2706,6 @@ CONFIG_MFD_SYSCON=y
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
# CONFIG_MFD_LM3533 is not set
|
||||
# CONFIG_MFD_TC3589X is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_MFD_VX855 is not set
|
||||
# CONFIG_MFD_ARIZONA_I2C is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
@@ -2756,9 +2731,7 @@ CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||
#
|
||||
# AMD Library routines
|
||||
#
|
||||
# CONFIG_CHASH is not set
|
||||
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
||||
# CONFIG_DRM_LIB_RANDOM is not set
|
||||
|
||||
#
|
||||
# Frame buffer Devices
|
||||
@@ -2767,22 +2740,15 @@ CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_NOTIFY=y
|
||||
# CONFIG_FB_DDC is not set
|
||||
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
|
||||
CONFIG_FB_SYS_FILLRECT=y
|
||||
CONFIG_FB_SYS_COPYAREA=y
|
||||
CONFIG_FB_SYS_IMAGEBLIT=y
|
||||
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
|
||||
# CONFIG_FB_FOREIGN_ENDIAN is not set
|
||||
CONFIG_FB_SYS_FOPS=y
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
|
||||
@@ -2817,7 +2783,6 @@ CONFIG_FB_EFI=y
|
||||
# CONFIG_FB_ARK is not set
|
||||
# CONFIG_FB_PM3 is not set
|
||||
# CONFIG_FB_CARMINE is not set
|
||||
# CONFIG_FB_S3C is not set
|
||||
# CONFIG_FB_SMSCUFX is not set
|
||||
# CONFIG_FB_UDL is not set
|
||||
# CONFIG_FB_IBM_GXT4500 is not set
|
||||
@@ -2831,7 +2796,6 @@ CONFIG_FB_SIMPLE=y
|
||||
# CONFIG_FB_SSD1307 is not set
|
||||
# CONFIG_FB_SM712 is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
|
||||
#
|
||||
# Console display driver support
|
||||
@@ -2972,7 +2936,6 @@ CONFIG_USB_EHCI_PCI=m
|
||||
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
|
||||
# CONFIG_USB_OXU210HP_HCD is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
# CONFIG_USB_ISP1362_HCD is not set
|
||||
# CONFIG_USB_FOTG210_HCD is not set
|
||||
CONFIG_USB_OHCI_HCD=m
|
||||
CONFIG_USB_OHCI_HCD_PCI=m
|
||||
@@ -3157,6 +3120,7 @@ CONFIG_RTC_INTF_DEV=y
|
||||
# CONFIG_RTC_DRV_RS5C372 is not set
|
||||
# CONFIG_RTC_DRV_ISL1208 is not set
|
||||
# CONFIG_RTC_DRV_ISL12022 is not set
|
||||
# CONFIG_RTC_DRV_ISL12026 is not set
|
||||
# CONFIG_RTC_DRV_X1205 is not set
|
||||
# CONFIG_RTC_DRV_PCF8523 is not set
|
||||
# CONFIG_RTC_DRV_PCF85063 is not set
|
||||
@@ -3235,6 +3199,7 @@ CONFIG_DMA_OF=y
|
||||
# CONFIG_AMBA_PL08X is not set
|
||||
# CONFIG_BCM_SBA_RAID is not set
|
||||
CONFIG_DMA_BCM2835=m
|
||||
# CONFIG_DW_AXI_DMAC is not set
|
||||
# CONFIG_FSL_EDMA is not set
|
||||
# CONFIG_INTEL_IDMA64 is not set
|
||||
# CONFIG_K3_DMA is not set
|
||||
@@ -3283,7 +3248,6 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
#
|
||||
# Microsoft Hyper-V guest support
|
||||
#
|
||||
# CONFIG_HYPERV_TSCPAGE is not set
|
||||
|
||||
#
|
||||
# Xen driver support
|
||||
@@ -3319,16 +3283,14 @@ CONFIG_CLK_VEXPRESS_OSC=y
|
||||
# CONFIG_CLK_HSDK is not set
|
||||
# CONFIG_COMMON_CLK_SI5351 is not set
|
||||
# CONFIG_COMMON_CLK_SI514 is not set
|
||||
# CONFIG_COMMON_CLK_SI544 is not set
|
||||
# CONFIG_COMMON_CLK_SI570 is not set
|
||||
# CONFIG_COMMON_CLK_CDCE706 is not set
|
||||
# CONFIG_COMMON_CLK_CDCE925 is not set
|
||||
# CONFIG_COMMON_CLK_CS2000_CP is not set
|
||||
# CONFIG_CLK_QORIQ is not set
|
||||
# CONFIG_COMMON_CLK_XGENE is not set
|
||||
# CONFIG_COMMON_CLK_NXP is not set
|
||||
# CONFIG_COMMON_CLK_PWM is not set
|
||||
# CONFIG_COMMON_CLK_PXA is not set
|
||||
# CONFIG_COMMON_CLK_PIC32 is not set
|
||||
# CONFIG_COMMON_CLK_VC5 is not set
|
||||
CONFIG_COMMON_CLK_HI3516CV300=y
|
||||
# CONFIG_COMMON_CLK_HI3519 is not set
|
||||
@@ -3357,11 +3319,6 @@ CONFIG_FSL_ERRATUM_A008585=y
|
||||
CONFIG_HISILICON_ERRATUM_161010101=y
|
||||
CONFIG_ARM64_ERRATUM_858921=y
|
||||
CONFIG_ARM_TIMER_SP804=y
|
||||
# CONFIG_ATMEL_PIT is not set
|
||||
# CONFIG_SH_TIMER_CMT is not set
|
||||
# CONFIG_SH_TIMER_MTU2 is not set
|
||||
# CONFIG_SH_TIMER_TMU is not set
|
||||
# CONFIG_EM_TIMER_STI is not set
|
||||
CONFIG_CLKSRC_VERSATILE=y
|
||||
CONFIG_MAILBOX=y
|
||||
# CONFIG_ARM_MHU is not set
|
||||
@@ -3370,6 +3327,7 @@ CONFIG_MAILBOX=y
|
||||
# CONFIG_PCC is not set
|
||||
# CONFIG_ALTERA_MBOX is not set
|
||||
CONFIG_BCM2835_MBOX=y
|
||||
# CONFIG_HI3660_MBOX is not set
|
||||
# CONFIG_HI6220_MBOX is not set
|
||||
# CONFIG_MAILBOX_TEST is not set
|
||||
# CONFIG_QCOM_APCS_IPC is not set
|
||||
@@ -3414,7 +3372,6 @@ CONFIG_RASPBERRYPI_POWER=y
|
||||
CONFIG_SOC_SAMSUNG=y
|
||||
CONFIG_EXYNOS_PMU=y
|
||||
CONFIG_EXYNOS_PM_DOMAINS=y
|
||||
# CONFIG_SUNXI_SRAM is not set
|
||||
# CONFIG_SOC_TI is not set
|
||||
|
||||
#
|
||||
@@ -3474,23 +3431,12 @@ CONFIG_HISILICON_IRQ_MBIGEN=y
|
||||
CONFIG_LS_SCFG_MSI=y
|
||||
CONFIG_PARTITION_PERCPU=y
|
||||
# CONFIG_QCOM_IRQ_COMBINER is not set
|
||||
# CONFIG_QCOM_PDC is not set
|
||||
# CONFIG_IPACK_BUS is not set
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_ATH79 is not set
|
||||
# CONFIG_RESET_AXS10X is not set
|
||||
# CONFIG_RESET_BERLIN is not set
|
||||
# CONFIG_RESET_IMX7 is not set
|
||||
# CONFIG_RESET_LANTIQ is not set
|
||||
# CONFIG_RESET_LPC18XX is not set
|
||||
# CONFIG_RESET_MESON is not set
|
||||
# CONFIG_RESET_PISTACHIO is not set
|
||||
# CONFIG_RESET_SIMPLE is not set
|
||||
# CONFIG_RESET_SUNXI is not set
|
||||
# CONFIG_RESET_TI_SYSCON is not set
|
||||
# CONFIG_RESET_ZYNQ is not set
|
||||
CONFIG_COMMON_RESET_HI3660=y
|
||||
# CONFIG_COMMON_RESET_HI6220 is not set
|
||||
# CONFIG_RESET_TEGRA_BPMP is not set
|
||||
# CONFIG_FMC is not set
|
||||
|
||||
#
|
||||
@@ -3500,8 +3446,11 @@ CONFIG_GENERIC_PHY=y
|
||||
# CONFIG_PHY_XGENE is not set
|
||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||
# CONFIG_PHY_HI6220_USB is not set
|
||||
# CONFIG_PHY_HISTB_COMBPHY is not set
|
||||
# CONFIG_PHY_HISI_INNO_USB2 is not set
|
||||
# CONFIG_PHY_PXA_28NM_HSIC is not set
|
||||
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
|
||||
# CONFIG_PHY_QCOM_APQ8064_SATA is not set
|
||||
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
|
||||
# CONFIG_PHY_QCOM_QMP is not set
|
||||
@@ -3517,6 +3466,10 @@ CONFIG_GENERIC_PHY=y
|
||||
#
|
||||
# Performance monitor support
|
||||
#
|
||||
CONFIG_ARM_CCI_PMU=y
|
||||
CONFIG_ARM_CCI400_PMU=y
|
||||
CONFIG_ARM_CCI5xx_PMU=y
|
||||
CONFIG_ARM_CCN=y
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_ARM_PMU_ACPI=y
|
||||
# CONFIG_ARM_DSU_PMU is not set
|
||||
@@ -3535,6 +3488,10 @@ CONFIG_DAX=y
|
||||
# CONFIG_DEV_DAX is not set
|
||||
CONFIG_NVMEM=y
|
||||
# CONFIG_QCOM_QFPROM is not set
|
||||
|
||||
#
|
||||
# HW tracing support
|
||||
#
|
||||
# CONFIG_STM is not set
|
||||
# CONFIG_INTEL_TH is not set
|
||||
# CONFIG_FPGA is not set
|
||||
@@ -3549,6 +3506,7 @@ CONFIG_PM_OPP=y
|
||||
#
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
# CONFIG_ARM_PSCI_CHECKER is not set
|
||||
# CONFIG_ARM_SCMI_PROTOCOL is not set
|
||||
# CONFIG_ARM_SCPI_PROTOCOL is not set
|
||||
# CONFIG_ARM_SDE_INTERFACE is not set
|
||||
CONFIG_FIRMWARE_MEMMAP=y
|
||||
@@ -3573,8 +3531,6 @@ CONFIG_EFI_ARMSTUB=y
|
||||
# CONFIG_EFI_CAPSULE_LOADER is not set
|
||||
# CONFIG_EFI_TEST is not set
|
||||
CONFIG_RESET_ATTACK_MITIGATION=y
|
||||
# CONFIG_EFI_DEV_PATH_PARSER is not set
|
||||
# CONFIG_MESON_SM is not set
|
||||
|
||||
#
|
||||
# Tegra firmware driver
|
||||
@@ -3594,7 +3550,6 @@ CONFIG_ACPI_MCFG=y
|
||||
CONFIG_ACPI_PROCESSOR=y
|
||||
CONFIG_ACPI_HOTPLUG_CPU=y
|
||||
CONFIG_ACPI_THERMAL=y
|
||||
# CONFIG_ACPI_CUSTOM_DSDT is not set
|
||||
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
|
||||
CONFIG_ACPI_TABLE_UPGRADE=y
|
||||
CONFIG_ACPI_DEBUG=y
|
||||
@@ -3673,6 +3628,7 @@ CONFIG_OVERLAY_FS=y
|
||||
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
|
||||
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
|
||||
# CONFIG_OVERLAY_FS_INDEX is not set
|
||||
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
|
||||
|
||||
#
|
||||
# Caches
|
||||
@@ -3759,9 +3715,14 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
|
||||
# CONFIG_QNX6FS_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_ZLIB_COMPRESS=y
|
||||
CONFIG_PSTORE_DEFLATE_COMPRESS=y
|
||||
# CONFIG_PSTORE_LZO_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
|
||||
# CONFIG_PSTORE_842_COMPRESS is not set
|
||||
CONFIG_PSTORE_COMPRESS=y
|
||||
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
|
||||
CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
|
||||
# CONFIG_PSTORE_CONSOLE is not set
|
||||
# CONFIG_PSTORE_PMSG is not set
|
||||
# CONFIG_PSTORE_FTRACE is not set
|
||||
@@ -3893,6 +3854,7 @@ CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=y
|
||||
CONFIG_KVM_ARM_HOST=y
|
||||
CONFIG_KVM_ARM_PMU=y
|
||||
CONFIG_KVM_INDIRECT_VECTORS=y
|
||||
CONFIG_VHOST_NET=m
|
||||
CONFIG_VHOST_VSOCK=m
|
||||
CONFIG_VHOST=m
|
||||
@@ -3986,13 +3948,15 @@ CONFIG_DEBUG_PREEMPT=y
|
||||
#
|
||||
# Lock Debugging (spinlocks, mutexes, etc...)
|
||||
#
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
@@ -4011,8 +3975,6 @@ CONFIG_DEBUG_CREDENTIALS=y
|
||||
#
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
@@ -4100,15 +4062,14 @@ CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
# CONFIG_KGDB is not set
|
||||
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
|
||||
# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
|
||||
CONFIG_UBSAN=y
|
||||
# CONFIG_UBSAN_SANITIZE_ALL is not set
|
||||
# CONFIG_UBSAN_ALIGNMENT is not set
|
||||
# CONFIG_UBSAN_NULL is not set
|
||||
# CONFIG_TEST_UBSAN is not set
|
||||
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
# CONFIG_IO_STRICT_DEVMEM is not set
|
||||
# CONFIG_ARM64_PTDUMP_CORE is not set
|
||||
# CONFIG_ARM64_PTDUMP_DEBUGFS is not set
|
||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
|
||||
@@ -4129,7 +4090,6 @@ CONFIG_ENCRYPTED_KEYS=y
|
||||
CONFIG_KEY_DH_OPERATIONS=y
|
||||
CONFIG_SECURITY_DMESG_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
# CONFIG_SECURITY_WRITABLE_HOOKS is not set
|
||||
CONFIG_SECURITYFS=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_SECURITY_NETWORK_XFRM=y
|
||||
@@ -4224,6 +4184,7 @@ CONFIG_CRYPTO_ECHAINIV=y
|
||||
# Block modes
|
||||
#
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
# CONFIG_CRYPTO_CFB is not set
|
||||
CONFIG_CRYPTO_CTR=y
|
||||
CONFIG_CRYPTO_CTS=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
@@ -4283,6 +4244,8 @@ CONFIG_CRYPTO_SALSA20=y
|
||||
CONFIG_CRYPTO_CHACHA20=y
|
||||
CONFIG_CRYPTO_SEED=y
|
||||
CONFIG_CRYPTO_SERPENT=y
|
||||
# CONFIG_CRYPTO_SM4 is not set
|
||||
# CONFIG_CRYPTO_SPECK is not set
|
||||
CONFIG_CRYPTO_TEA=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH_COMMON=y
|
||||
@@ -4314,7 +4277,6 @@ CONFIG_CRYPTO_USER_API_AEAD=y
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
CONFIG_CRYPTO_HW=y
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set
|
||||
# CONFIG_CRYPTO_DEV_EXYNOS_RNG is not set
|
||||
# CONFIG_CRYPTO_DEV_S5P is not set
|
||||
# CONFIG_CRYPTO_DEV_CCP is not set
|
||||
@@ -4323,6 +4285,7 @@ CONFIG_CRYPTO_HW=y
|
||||
CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m
|
||||
CONFIG_CRYPTO_DEV_QCE=m
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
# CONFIG_CRYPTO_DEV_CCREE is not set
|
||||
CONFIG_ASYMMETRIC_KEY_TYPE=y
|
||||
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
|
||||
CONFIG_X509_CERTIFICATE_PARSER=y
|
||||
@@ -4351,6 +4314,7 @@ CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
|
||||
CONFIG_CRYPTO_CHACHA20_NEON=y
|
||||
CONFIG_CRYPTO_AES_ARM64_BS=y
|
||||
# CONFIG_CRYPTO_SPECK_NEON is not set
|
||||
CONFIG_BINARY_PRINTF=y
|
||||
|
||||
#
|
||||
@@ -4365,6 +4329,7 @@ CONFIG_GENERIC_STRNLEN_USER=y
|
||||
CONFIG_GENERIC_NET_UTILS=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
|
||||
# CONFIG_INDIRECT_PIO is not set
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_CRC16=y
|
||||
CONFIG_CRC_T10DIF=y
|
||||
@@ -4416,7 +4381,6 @@ CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
CONFIG_DMA_DIRECT_OPS=y
|
||||
# CONFIG_DMA_VIRT_OPS is not set
|
||||
CONFIG_CHECK_SIGNATURE=y
|
||||
CONFIG_CPU_RMAP=y
|
||||
CONFIG_DQL=y
|
||||
@@ -4437,7 +4401,6 @@ CONFIG_FONT_SUPPORT=y
|
||||
# CONFIG_FONTS is not set
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
CONFIG_SBITMAP=y
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/s390 4.16.8 Kernel Configuration
|
||||
# Linux/s390 4.17.5 Kernel Configuration
|
||||
#
|
||||
CONFIG_MMU=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
@@ -8,15 +8,12 @@ CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
|
||||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
||||
CONFIG_PGSTE=y
|
||||
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_AUDIT_ARCH=y
|
||||
CONFIG_NO_IOPORT_MAP=y
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
@@ -102,7 +99,6 @@ CONFIG_TREE_RCU=y
|
||||
# CONFIG_RCU_EXPERT is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
# CONFIG_TASKS_RCU is not set
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
CONFIG_BUILD_BIN2C=y
|
||||
@@ -185,7 +181,6 @@ CONFIG_MEMBARRIER=y
|
||||
CONFIG_CHECKPOINT_RESTORE=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
|
||||
CONFIG_KALLSYMS_BASE_RELATIVE=y
|
||||
CONFIG_BPF_SYSCALL=y
|
||||
CONFIG_BPF_JIT_ALWAYS_ON=y
|
||||
@@ -206,7 +201,6 @@ CONFIG_SLAB=y
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
CONFIG_CRASH_CORE=y
|
||||
@@ -217,7 +211,6 @@ CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_STATIC_KEYS_SELFTEST is not set
|
||||
CONFIG_UPROBES=y
|
||||
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
|
||||
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
||||
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
||||
CONFIG_KRETPROBES=y
|
||||
@@ -252,7 +245,6 @@ CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
|
||||
# CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
|
||||
CONFIG_GCC_PLUGIN_RANDSTRUCT=y
|
||||
CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE=y
|
||||
CONFIG_THIN_ARCHIVES=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_ARCH_HAS_SCALED_CPUTIME=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
@@ -262,16 +254,10 @@ CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||
CONFIG_HAVE_COPY_THREAD_TLS=y
|
||||
# CONFIG_HAVE_ARCH_HASH is not set
|
||||
# CONFIG_ISA_BUS_API is not set
|
||||
CONFIG_CLONE_BACKWARDS2=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_OLD_SIGACTION=y
|
||||
CONFIG_COMPAT_OLD_SIGACTION=y
|
||||
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
|
||||
# CONFIG_HAVE_ARCH_VMAP_STACK is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
|
||||
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
@@ -283,7 +269,6 @@ CONFIG_REFCOUNT_FULL=y
|
||||
#
|
||||
# CONFIG_GCOV_KERNEL is not set
|
||||
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
CONFIG_MODULES=y
|
||||
@@ -423,9 +408,6 @@ CONFIG_HAVE_MARCH_Z990_FEATURES=y
|
||||
CONFIG_HAVE_MARCH_Z9_109_FEATURES=y
|
||||
CONFIG_HAVE_MARCH_Z10_FEATURES=y
|
||||
CONFIG_HAVE_MARCH_Z196_FEATURES=y
|
||||
# CONFIG_HAVE_MARCH_ZEC12_FEATURES is not set
|
||||
# CONFIG_HAVE_MARCH_Z13_FEATURES is not set
|
||||
# CONFIG_HAVE_MARCH_Z14_FEATURES is not set
|
||||
# CONFIG_MARCH_Z900 is not set
|
||||
# CONFIG_MARCH_Z990 is not set
|
||||
# CONFIG_MARCH_Z9_109 is not set
|
||||
@@ -434,14 +416,7 @@ CONFIG_MARCH_Z196=y
|
||||
# CONFIG_MARCH_ZEC12 is not set
|
||||
# CONFIG_MARCH_Z13 is not set
|
||||
# CONFIG_MARCH_Z14 is not set
|
||||
# CONFIG_MARCH_Z900_TUNE is not set
|
||||
# CONFIG_MARCH_Z990_TUNE is not set
|
||||
# CONFIG_MARCH_Z9_109_TUNE is not set
|
||||
# CONFIG_MARCH_Z10_TUNE is not set
|
||||
CONFIG_MARCH_Z196_TUNE=y
|
||||
# CONFIG_MARCH_ZEC12_TUNE is not set
|
||||
# CONFIG_MARCH_Z13_TUNE is not set
|
||||
# CONFIG_MARCH_Z14_TUNE is not set
|
||||
CONFIG_TUNE_DEFAULT=y
|
||||
# CONFIG_TUNE_Z900 is not set
|
||||
# CONFIG_TUNE_Z990 is not set
|
||||
@@ -457,7 +432,6 @@ CONFIG_SYSVIPC_COMPAT=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=64
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
# CONFIG_NODES_SPAN_OTHER_NODES is not set
|
||||
# CONFIG_NUMA is not set
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_SCHED_MC=y
|
||||
@@ -473,11 +447,12 @@ CONFIG_HZ_250=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
CONFIG_SCHED_HRTICK=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_ARCH_RANDOM=y
|
||||
CONFIG_KERNEL_NOBP=y
|
||||
CONFIG_EXPOLINE=y
|
||||
# CONFIG_EXPOLINE_OFF is not set
|
||||
# CONFIG_EXPOLINE_MEDIUM is not set
|
||||
# CONFIG_EXPOLINE_AUTO is not set
|
||||
CONFIG_EXPOLINE_FULL=y
|
||||
|
||||
#
|
||||
@@ -502,7 +477,6 @@ CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
|
||||
CONFIG_HAVE_MEMBLOCK_PHYS_MAP=y
|
||||
CONFIG_NO_BOOTMEM=y
|
||||
CONFIG_MEMORY_ISOLATION=y
|
||||
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
||||
# CONFIG_MEMORY_HOTPLUG is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_MEMORY_BALLOON=y
|
||||
@@ -517,7 +491,6 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
|
||||
# CONFIG_ARCH_WANTS_THP_SWAP is not set
|
||||
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
|
||||
# CONFIG_CLEANCACHE is not set
|
||||
# CONFIG_FRONTSWAP is not set
|
||||
@@ -558,7 +531,6 @@ CONFIG_PCIE_PME=y
|
||||
# CONFIG_PCIE_PTM is not set
|
||||
CONFIG_PCI_BUS_ADDR_T_64BIT=y
|
||||
CONFIG_PCI_MSI=y
|
||||
# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
|
||||
CONFIG_PCI_STUB=y
|
||||
@@ -615,7 +587,6 @@ CONFIG_ARCH_BINFMT_ELF_STATE=y
|
||||
CONFIG_ELFCORE=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_SCRIPT=y
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_COREDUMP=y
|
||||
CONFIG_SECCOMP=y
|
||||
@@ -668,6 +639,7 @@ CONFIG_NET_IPGRE_DEMUX=y
|
||||
CONFIG_NET_IP_TUNNEL=y
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE_COMMON=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
@@ -1014,6 +986,9 @@ CONFIG_NF_CONNTRACK_IPV6=y
|
||||
# CONFIG_NF_SOCKET_IPV6 is not set
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_NFT_REJECT_IPV6=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
# CONFIG_NFT_FIB_IPV6 is not set
|
||||
@@ -1021,10 +996,7 @@ CONFIG_NF_DUP_IPV6=y
|
||||
CONFIG_NF_REJECT_IPV6=y
|
||||
CONFIG_NF_LOG_IPV6=y
|
||||
CONFIG_NF_NAT_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_IP6_NF_IPTABLES=y
|
||||
CONFIG_IP6_NF_MATCH_AH=y
|
||||
CONFIG_IP6_NF_MATCH_EUI64=y
|
||||
@@ -1160,6 +1132,7 @@ CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_EMATCH_META=y
|
||||
CONFIG_NET_EMATCH_TEXT=y
|
||||
CONFIG_NET_EMATCH_IPSET=y
|
||||
# CONFIG_NET_EMATCH_IPT is not set
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_ACT_POLICE=y
|
||||
CONFIG_NET_ACT_GACT=y
|
||||
@@ -1220,7 +1193,6 @@ CONFIG_NET_FLOW_LIMIT=y
|
||||
# CONFIG_CAN is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
# CONFIG_AF_KCM is not set
|
||||
# CONFIG_STREAM_PARSER is not set
|
||||
CONFIG_FIB_RULES=y
|
||||
# CONFIG_WIMAX is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
@@ -1241,7 +1213,6 @@ CONFIG_GRO_CELLS=y
|
||||
# CONFIG_NET_DEVLINK is not set
|
||||
CONFIG_MAY_USE_DEVLINK=y
|
||||
CONFIG_HAVE_EBPF_JIT=y
|
||||
# CONFIG_PCMCIA is not set
|
||||
CONFIG_CCW=y
|
||||
|
||||
#
|
||||
@@ -1266,9 +1237,8 @@ CONFIG_ALLOW_DEV_COREDUMP=y
|
||||
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
|
||||
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
|
||||
CONFIG_SYS_HYPERVISOR=y
|
||||
# CONFIG_GENERIC_CPU_DEVICES is not set
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
# CONFIG_DMA_SHARED_BUFFER is not set
|
||||
CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
||||
# CONFIG_DMA_CMA is not set
|
||||
|
||||
#
|
||||
@@ -1284,7 +1254,6 @@ CONFIG_CDROM=y
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
# CONFIG_BLK_DEV_UMEM is not set
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
|
||||
CONFIG_BLK_DEV_CRYPTOLOOP=y
|
||||
@@ -1323,7 +1292,6 @@ CONFIG_BLK_DEV_RBD=m
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_SENSORS_LIS3LV02D is not set
|
||||
# CONFIG_AD525X_DPOT is not set
|
||||
# CONFIG_DUMMY_IRQ is not set
|
||||
# CONFIG_PHANTOM is not set
|
||||
@@ -1343,7 +1311,6 @@ CONFIG_BLK_DEV_RBD=m
|
||||
# CONFIG_USB_SWITCH_FSA9480 is not set
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_PCI_ENDPOINT_TEST is not set
|
||||
# CONFIG_MISC_RTSX is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
#
|
||||
@@ -1399,10 +1366,6 @@ CONFIG_BLK_DEV_RBD=m
|
||||
#
|
||||
# CONFIG_GENWQE is not set
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_CXL_BASE is not set
|
||||
# CONFIG_CXL_AFU_DRIVER_OPS is not set
|
||||
# CONFIG_CXL_LIB is not set
|
||||
# CONFIG_OCXL_BASE is not set
|
||||
# CONFIG_MISC_RTSX_PCI is not set
|
||||
|
||||
#
|
||||
@@ -1412,7 +1375,6 @@ CONFIG_SCSI_MOD=y
|
||||
CONFIG_RAID_ATTRS=m
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
# CONFIG_SCSI_MQ_DEFAULT is not set
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
|
||||
@@ -1470,7 +1432,6 @@ CONFIG_SCSI_HPSA=m
|
||||
# CONFIG_SCSI_HPTIOP is not set
|
||||
# CONFIG_SCSI_SNIC is not set
|
||||
# CONFIG_SCSI_DMX3191D is not set
|
||||
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_SCSI_INITIO is not set
|
||||
# CONFIG_SCSI_INIA100 is not set
|
||||
@@ -1489,7 +1450,6 @@ CONFIG_SCSI_VIRTIO=y
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# CONFIG_SCSI_OSD_INITIATOR is not set
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
# CONFIG_ATA_VERBOSE_ERROR is not set
|
||||
# CONFIG_SATA_PMP is not set
|
||||
|
||||
@@ -1638,8 +1598,6 @@ CONFIG_GENEVE=m
|
||||
# CONFIG_GTP is not set
|
||||
# CONFIG_MACSEC is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
CONFIG_TUN=y
|
||||
CONFIG_TAP=y
|
||||
# CONFIG_TUN_VNET_CROSS_LE is not set
|
||||
@@ -1702,6 +1660,7 @@ CONFIG_MLX5_ESWITCH=y
|
||||
# CONFIG_FEALNX is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_NETRONOME is not set
|
||||
CONFIG_NET_VENDOR_NI=y
|
||||
# CONFIG_NET_VENDOR_NVIDIA is not set
|
||||
# CONFIG_NET_VENDOR_OKI is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
@@ -1886,6 +1845,11 @@ CONFIG_SERIO_LIBPS2=y
|
||||
# Character devices
|
||||
#
|
||||
CONFIG_TTY=y
|
||||
CONFIG_VT=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
@@ -2014,7 +1978,6 @@ CONFIG_I2C_HELPER_AUTO=y
|
||||
# CONFIG_I2C_DESIGNWARE_PCI is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PCA_PLATFORM is not set
|
||||
# CONFIG_I2C_PXA_PCI is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_XILINX is not set
|
||||
|
||||
@@ -2200,6 +2163,7 @@ CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
CONFIG_THERMAL=y
|
||||
# CONFIG_THERMAL_STATISTICS is not set
|
||||
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
|
||||
CONFIG_THERMAL_HWMON=y
|
||||
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
|
||||
@@ -2227,7 +2191,6 @@ CONFIG_BCMA_POSSIBLE=y
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_AS3711 is not set
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_MFD_BCM590XX is not set
|
||||
@@ -2286,7 +2249,6 @@ CONFIG_BCMA_POSSIBLE=y
|
||||
# CONFIG_TWL6040_CORE is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
# CONFIG_MFD_LM3533 is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_MFD_VX855 is not set
|
||||
# CONFIG_MFD_ARIZONA_I2C is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
@@ -2309,8 +2271,6 @@ CONFIG_BCMA_POSSIBLE=y
|
||||
#
|
||||
# AMD Library routines
|
||||
#
|
||||
# CONFIG_CHASH is not set
|
||||
# CONFIG_DRM_LIB_RANDOM is not set
|
||||
|
||||
#
|
||||
# Frame buffer Devices
|
||||
@@ -2319,21 +2279,7 @@ CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_NOTIFY=y
|
||||
# CONFIG_FB_DDC is not set
|
||||
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
|
||||
# CONFIG_FB_CFB_FILLRECT is not set
|
||||
# CONFIG_FB_CFB_COPYAREA is not set
|
||||
# CONFIG_FB_CFB_IMAGEBLIT is not set
|
||||
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
|
||||
# CONFIG_FB_SYS_FILLRECT is not set
|
||||
# CONFIG_FB_SYS_COPYAREA is not set
|
||||
# CONFIG_FB_SYS_IMAGEBLIT is not set
|
||||
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
|
||||
# CONFIG_FB_FOREIGN_ENDIAN is not set
|
||||
# CONFIG_FB_SYS_FOPS is not set
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
|
||||
@@ -2375,7 +2321,14 @@ CONFIG_FB_NOTIFY=y
|
||||
# CONFIG_FB_SIMPLE is not set
|
||||
# CONFIG_FB_SM712 is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
|
||||
#
|
||||
# Console display driver support
|
||||
#
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
CONFIG_DUMMY_CONSOLE_COLUMNS=80
|
||||
CONFIG_DUMMY_CONSOLE_ROWS=25
|
||||
# CONFIG_FRAMEBUFFER_CONSOLE is not set
|
||||
# CONFIG_LOGO is not set
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
@@ -2491,18 +2444,12 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
#
|
||||
# Microsoft Hyper-V guest support
|
||||
#
|
||||
# CONFIG_HYPERV_TSCPAGE is not set
|
||||
# CONFIG_STAGING is not set
|
||||
# CONFIG_HWSPINLOCK is not set
|
||||
|
||||
#
|
||||
# Clock Source drivers
|
||||
#
|
||||
# CONFIG_ATMEL_PIT is not set
|
||||
# CONFIG_SH_TIMER_CMT is not set
|
||||
# CONFIG_SH_TIMER_MTU2 is not set
|
||||
# CONFIG_SH_TIMER_TMU is not set
|
||||
# CONFIG_EM_TIMER_STI is not set
|
||||
CONFIG_MAILBOX=y
|
||||
# CONFIG_ALTERA_MBOX is not set
|
||||
CONFIG_IOMMU_API=y
|
||||
@@ -2545,7 +2492,6 @@ CONFIG_S390_IOMMU=y
|
||||
#
|
||||
# Qualcomm SoC drivers
|
||||
#
|
||||
# CONFIG_SUNXI_SRAM is not set
|
||||
# CONFIG_SOC_TI is not set
|
||||
|
||||
#
|
||||
@@ -2578,22 +2524,9 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
||||
# IRQ chip support
|
||||
#
|
||||
CONFIG_ARM_GIC_MAX_NR=1
|
||||
# CONFIG_ARM_GIC_V3_ITS is not set
|
||||
# CONFIG_IPACK_BUS is not set
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_ATH79 is not set
|
||||
# CONFIG_RESET_AXS10X is not set
|
||||
# CONFIG_RESET_BERLIN is not set
|
||||
# CONFIG_RESET_IMX7 is not set
|
||||
# CONFIG_RESET_LANTIQ is not set
|
||||
# CONFIG_RESET_LPC18XX is not set
|
||||
# CONFIG_RESET_MESON is not set
|
||||
# CONFIG_RESET_PISTACHIO is not set
|
||||
# CONFIG_RESET_SIMPLE is not set
|
||||
# CONFIG_RESET_SUNXI is not set
|
||||
# CONFIG_RESET_TI_SYSCON is not set
|
||||
# CONFIG_RESET_ZYNQ is not set
|
||||
# CONFIG_RESET_TEGRA_BPMP is not set
|
||||
# CONFIG_FMC is not set
|
||||
|
||||
#
|
||||
@@ -2616,13 +2549,17 @@ CONFIG_GENERIC_PHY=y
|
||||
#
|
||||
# CONFIG_ANDROID is not set
|
||||
# CONFIG_LIBNVDIMM is not set
|
||||
CONFIG_DAX_DRIVER=y
|
||||
CONFIG_DAX=y
|
||||
# CONFIG_DEV_DAX is not set
|
||||
# CONFIG_NVMEM is not set
|
||||
|
||||
#
|
||||
# HW tracing support
|
||||
#
|
||||
# CONFIG_STM is not set
|
||||
# CONFIG_INTEL_TH is not set
|
||||
# CONFIG_FPGA is not set
|
||||
# CONFIG_FSI is not set
|
||||
CONFIG_PM_OPP=y
|
||||
# CONFIG_SIOX is not set
|
||||
# CONFIG_SLIMBUS is not set
|
||||
@@ -2688,6 +2625,7 @@ CONFIG_OVERLAY_FS=y
|
||||
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
|
||||
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
|
||||
# CONFIG_OVERLAY_FS_INDEX is not set
|
||||
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
|
||||
|
||||
#
|
||||
# Caches
|
||||
@@ -2768,16 +2706,20 @@ CONFIG_SQUASHFS_XZ=y
|
||||
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set
|
||||
# CONFIG_OMFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
# CONFIG_QNX6FS_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_ZLIB_COMPRESS=y
|
||||
CONFIG_PSTORE_DEFLATE_COMPRESS=y
|
||||
# CONFIG_PSTORE_LZO_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
|
||||
# CONFIG_PSTORE_842_COMPRESS is not set
|
||||
CONFIG_PSTORE_COMPRESS=y
|
||||
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
|
||||
CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
|
||||
# CONFIG_PSTORE_CONSOLE is not set
|
||||
# CONFIG_PSTORE_PMSG is not set
|
||||
# CONFIG_PSTORE_FTRACE is not set
|
||||
@@ -2974,13 +2916,15 @@ CONFIG_SCHED_INFO=y
|
||||
#
|
||||
# Lock Debugging (spinlocks, mutexes, etc...)
|
||||
#
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
@@ -2998,8 +2942,6 @@ CONFIG_DEBUG_CREDENTIALS=y
|
||||
#
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
@@ -3089,6 +3031,7 @@ CONFIG_UBSAN=y
|
||||
# CONFIG_UBSAN_SANITIZE_ALL is not set
|
||||
# CONFIG_UBSAN_ALIGNMENT is not set
|
||||
# CONFIG_UBSAN_NULL is not set
|
||||
# CONFIG_TEST_UBSAN is not set
|
||||
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
# CONFIG_IO_STRICT_DEVMEM is not set
|
||||
@@ -3107,7 +3050,6 @@ CONFIG_ENCRYPTED_KEYS=y
|
||||
CONFIG_KEY_DH_OPERATIONS=y
|
||||
CONFIG_SECURITY_DMESG_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
# CONFIG_SECURITY_WRITABLE_HOOKS is not set
|
||||
CONFIG_SECURITYFS=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_SECURITY_NETWORK_XFRM=y
|
||||
@@ -3201,6 +3143,7 @@ CONFIG_CRYPTO_ECHAINIV=y
|
||||
# Block modes
|
||||
#
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
# CONFIG_CRYPTO_CFB is not set
|
||||
CONFIG_CRYPTO_CTR=y
|
||||
CONFIG_CRYPTO_CTS=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
@@ -3260,6 +3203,8 @@ CONFIG_CRYPTO_SALSA20=y
|
||||
CONFIG_CRYPTO_CHACHA20=y
|
||||
CONFIG_CRYPTO_SEED=y
|
||||
CONFIG_CRYPTO_SERPENT=y
|
||||
# CONFIG_CRYPTO_SM4 is not set
|
||||
# CONFIG_CRYPTO_SPECK is not set
|
||||
CONFIG_CRYPTO_TEA=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH_COMMON=y
|
||||
@@ -3299,7 +3244,6 @@ CONFIG_CRYPTO_HW=y
|
||||
CONFIG_S390_PRNG=m
|
||||
# CONFIG_CRYPTO_GHASH_S390 is not set
|
||||
# CONFIG_CRYPTO_CRC32_S390 is not set
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set
|
||||
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
CONFIG_ASYMMETRIC_KEY_TYPE=y
|
||||
@@ -3319,7 +3263,6 @@ CONFIG_BINARY_PRINTF=y
|
||||
#
|
||||
CONFIG_RAID6_PQ=m
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_HAVE_ARCH_BITREVERSE is not set
|
||||
CONFIG_GENERIC_NET_UTILS=y
|
||||
CONFIG_GENERIC_FIND_FIRST_BIT=y
|
||||
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
|
||||
@@ -3338,7 +3281,6 @@ CONFIG_CRC32_SLICEBY8=y
|
||||
CONFIG_LIBCRC32C=y
|
||||
# CONFIG_CRC8 is not set
|
||||
CONFIG_XXHASH=m
|
||||
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
|
||||
# CONFIG_RANDOM32_SELFTEST is not set
|
||||
CONFIG_842_COMPRESS=y
|
||||
CONFIG_842_DECOMPRESS=y
|
||||
@@ -3370,7 +3312,6 @@ CONFIG_ASSOCIATIVE_ARRAY=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
CONFIG_DMA_DIRECT_OPS=y
|
||||
# CONFIG_DMA_VIRT_OPS is not set
|
||||
CONFIG_CHECK_SIGNATURE=y
|
||||
CONFIG_CPU_RMAP=y
|
||||
CONFIG_DQL=y
|
||||
@@ -3385,7 +3326,6 @@ CONFIG_CLZ_TAB=y
|
||||
CONFIG_MPILIB=y
|
||||
CONFIG_SIGNATURE=y
|
||||
CONFIG_OID_REGISTRY=y
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
CONFIG_SBITMAP=y
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.16.8 Kernel Configuration
|
||||
# Linux/x86 4.17.5 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
@@ -26,6 +26,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_ARCH_HAS_CPU_RELAX=y
|
||||
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
|
||||
CONFIG_ARCH_HAS_FILTER_PGPROT=y
|
||||
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
|
||||
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
|
||||
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
|
||||
@@ -137,7 +138,6 @@ CONFIG_TREE_RCU=y
|
||||
# CONFIG_RCU_EXPERT is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
# CONFIG_TASKS_RCU is not set
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
CONFIG_BUILD_BIN2C=y
|
||||
@@ -248,7 +248,6 @@ CONFIG_SLAB=y
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
CONFIG_OPROFILE=y
|
||||
@@ -261,7 +260,6 @@ CONFIG_JUMP_LABEL=y
|
||||
CONFIG_OPTPROBES=y
|
||||
CONFIG_KPROBES_ON_FTRACE=y
|
||||
CONFIG_UPROBES=y
|
||||
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
|
||||
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
||||
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
||||
CONFIG_KRETPROBES=y
|
||||
@@ -313,7 +311,6 @@ CONFIG_HAVE_CC_STACKPROTECTOR=y
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_STRONG=y
|
||||
# CONFIG_CC_STACKPROTECTOR_AUTO is not set
|
||||
CONFIG_THIN_ARCHIVES=y
|
||||
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
@@ -334,20 +331,14 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
|
||||
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
|
||||
CONFIG_HAVE_COPY_THREAD_TLS=y
|
||||
CONFIG_HAVE_STACK_VALIDATION=y
|
||||
# CONFIG_HAVE_ARCH_HASH is not set
|
||||
# CONFIG_ISA_BUS_API is not set
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_COMPAT_OLD_SIGACTION=y
|
||||
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
|
||||
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
||||
CONFIG_VMAP_STACK=y
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
|
||||
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
CONFIG_STRICT_MODULE_RWX=y
|
||||
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
|
||||
CONFIG_ARCH_HAS_REFCOUNT=y
|
||||
CONFIG_REFCOUNT_FULL=y
|
||||
|
||||
@@ -356,7 +347,6 @@ CONFIG_REFCOUNT_FULL=y
|
||||
#
|
||||
# CONFIG_GCOV_KERNEL is not set
|
||||
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
CONFIG_MODULES=y
|
||||
@@ -440,6 +430,7 @@ CONFIG_QUEUED_SPINLOCKS=y
|
||||
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
|
||||
CONFIG_QUEUED_RWLOCKS=y
|
||||
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
|
||||
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
|
||||
CONFIG_FREEZER=y
|
||||
|
||||
#
|
||||
@@ -448,7 +439,6 @@ CONFIG_FREEZER=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_FAST_FEATURE_TESTS=y
|
||||
CONFIG_X86_X2APIC=y
|
||||
CONFIG_X86_MPPARSE=y
|
||||
# CONFIG_GOLDFISH is not set
|
||||
@@ -526,7 +516,6 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=y
|
||||
CONFIG_PERF_EVENTS_INTEL_RAPL=y
|
||||
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
|
||||
# CONFIG_PERF_EVENTS_AMD_POWER is not set
|
||||
# CONFIG_VM86 is not set
|
||||
CONFIG_X86_VSYSCALL_EMULATION=y
|
||||
# CONFIG_I8K is not set
|
||||
CONFIG_MICROCODE=y
|
||||
@@ -638,6 +627,7 @@ CONFIG_RELOCATABLE=y
|
||||
CONFIG_RANDOMIZE_BASE=y
|
||||
CONFIG_X86_NEED_RELOCS=y
|
||||
CONFIG_PHYSICAL_ALIGN=0x1000000
|
||||
CONFIG_DYNAMIC_MEMORY_LAYOUT=y
|
||||
CONFIG_RANDOMIZE_MEMORY=y
|
||||
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
@@ -681,6 +671,7 @@ CONFIG_ACPI_AC=y
|
||||
CONFIG_ACPI_BATTERY=y
|
||||
CONFIG_ACPI_BUTTON=y
|
||||
CONFIG_ACPI_FAN=y
|
||||
# CONFIG_ACPI_TAD is not set
|
||||
CONFIG_ACPI_DOCK=y
|
||||
CONFIG_ACPI_CPU_FREQ_PSS=y
|
||||
CONFIG_ACPI_PROCESSOR_CSTATE=y
|
||||
@@ -690,7 +681,6 @@ CONFIG_ACPI_PROCESSOR=y
|
||||
CONFIG_ACPI_HOTPLUG_CPU=y
|
||||
CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
|
||||
CONFIG_ACPI_THERMAL=y
|
||||
# CONFIG_ACPI_CUSTOM_DSDT is not set
|
||||
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
|
||||
CONFIG_ACPI_TABLE_UPGRADE=y
|
||||
# CONFIG_ACPI_DEBUG is not set
|
||||
@@ -759,7 +749,6 @@ CONFIG_X86_SPEEDSTEP_LIB=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
|
||||
CONFIG_INTEL_IDLE=y
|
||||
|
||||
#
|
||||
@@ -770,6 +759,7 @@ CONFIG_PCI_DIRECT=y
|
||||
CONFIG_PCI_MMCONFIG=y
|
||||
CONFIG_PCI_XEN=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
CONFIG_MMCONF_FAM10H=y
|
||||
# CONFIG_PCI_CNB20LE_QUIRK is not set
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_HOTPLUG_PCI_PCIE=y
|
||||
@@ -840,7 +830,6 @@ CONFIG_COMPAT_BINFMT_ELF=y
|
||||
CONFIG_ELFCORE=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_SCRIPT=y
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_COREDUMP=y
|
||||
CONFIG_IA32_EMULATION=y
|
||||
@@ -889,6 +878,7 @@ CONFIG_NET_IPGRE_DEMUX=y
|
||||
CONFIG_NET_IP_TUNNEL=y
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE_COMMON=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
@@ -1235,6 +1225,9 @@ CONFIG_NF_CONNTRACK_IPV6=y
|
||||
# CONFIG_NF_SOCKET_IPV6 is not set
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_NFT_REJECT_IPV6=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
# CONFIG_NFT_FIB_IPV6 is not set
|
||||
@@ -1242,10 +1235,7 @@ CONFIG_NF_DUP_IPV6=y
|
||||
CONFIG_NF_REJECT_IPV6=y
|
||||
CONFIG_NF_LOG_IPV6=y
|
||||
CONFIG_NF_NAT_IPV6=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV6=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV6=y
|
||||
CONFIG_NFT_MASQ_IPV6=y
|
||||
CONFIG_NFT_REDIR_IPV6=y
|
||||
CONFIG_IP6_NF_IPTABLES=y
|
||||
CONFIG_IP6_NF_MATCH_AH=y
|
||||
CONFIG_IP6_NF_MATCH_EUI64=y
|
||||
@@ -1383,6 +1373,7 @@ CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_EMATCH_META=y
|
||||
CONFIG_NET_EMATCH_TEXT=y
|
||||
CONFIG_NET_EMATCH_IPSET=y
|
||||
# CONFIG_NET_EMATCH_IPT is not set
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_ACT_POLICE=y
|
||||
CONFIG_NET_ACT_GACT=y
|
||||
@@ -1446,7 +1437,6 @@ CONFIG_NET_FLOW_LIMIT=y
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
# CONFIG_AF_KCM is not set
|
||||
# CONFIG_STREAM_PARSER is not set
|
||||
CONFIG_FIB_RULES=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_WIMAX is not set
|
||||
@@ -1492,12 +1482,10 @@ CONFIG_ALLOW_DEV_COREDUMP=y
|
||||
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
|
||||
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
|
||||
CONFIG_SYS_HYPERVISOR=y
|
||||
# CONFIG_GENERIC_CPU_DEVICES is not set
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
# CONFIG_DMA_SHARED_BUFFER is not set
|
||||
|
||||
#
|
||||
# Bus devices
|
||||
@@ -1522,7 +1510,6 @@ CONFIG_CDROM=y
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
# CONFIG_BLK_DEV_UMEM is not set
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
|
||||
CONFIG_BLK_DEV_CRYPTOLOOP=y
|
||||
@@ -1553,7 +1540,6 @@ CONFIG_BLK_DEV_NVME=y
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_SENSORS_LIS3LV02D is not set
|
||||
# CONFIG_AD525X_DPOT is not set
|
||||
# CONFIG_DUMMY_IRQ is not set
|
||||
# CONFIG_IBM_ASM is not set
|
||||
@@ -1574,7 +1560,6 @@ CONFIG_BLK_DEV_NVME=y
|
||||
# CONFIG_USB_SWITCH_FSA9480 is not set
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_PCI_ENDPOINT_TEST is not set
|
||||
# CONFIG_MISC_RTSX is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
#
|
||||
@@ -1637,10 +1622,6 @@ CONFIG_BLK_DEV_NVME=y
|
||||
#
|
||||
# CONFIG_GENWQE is not set
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_CXL_BASE is not set
|
||||
# CONFIG_CXL_AFU_DRIVER_OPS is not set
|
||||
# CONFIG_CXL_LIB is not set
|
||||
# CONFIG_OCXL_BASE is not set
|
||||
# CONFIG_MISC_RTSX_PCI is not set
|
||||
# CONFIG_MISC_RTSX_USB is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
@@ -1653,7 +1634,6 @@ CONFIG_SCSI_MOD=y
|
||||
CONFIG_RAID_ATTRS=m
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
# CONFIG_SCSI_MQ_DEFAULT is not set
|
||||
# CONFIG_SCSI_PROC_FS is not set
|
||||
|
||||
@@ -1716,8 +1696,6 @@ CONFIG_XEN_SCSI_FRONTEND=y
|
||||
CONFIG_HYPERV_STORAGE=y
|
||||
# CONFIG_SCSI_SNIC is not set
|
||||
# CONFIG_SCSI_DMX3191D is not set
|
||||
# CONFIG_SCSI_EATA is not set
|
||||
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
||||
# CONFIG_SCSI_GDTH is not set
|
||||
# CONFIG_SCSI_ISCI is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
@@ -1738,7 +1716,6 @@ CONFIG_SCSI_VIRTIO=y
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# CONFIG_SCSI_OSD_INITIATOR is not set
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
# CONFIG_ATA_VERBOSE_ERROR is not set
|
||||
CONFIG_ATA_ACPI=y
|
||||
# CONFIG_SATA_ZPODD is not set
|
||||
@@ -1897,8 +1874,6 @@ CONFIG_GENEVE=m
|
||||
# CONFIG_GTP is not set
|
||||
# CONFIG_MACSEC is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
CONFIG_TUN=y
|
||||
CONFIG_TAP=y
|
||||
# CONFIG_TUN_VNET_CROSS_LE is not set
|
||||
@@ -1971,6 +1946,7 @@ CONFIG_IXGBE_HWMON=y
|
||||
CONFIG_IXGBEVF=m
|
||||
CONFIG_I40E=m
|
||||
CONFIG_I40EVF=m
|
||||
CONFIG_ICE=m
|
||||
# CONFIG_FM10K is not set
|
||||
# CONFIG_NET_VENDOR_I825XX is not set
|
||||
# CONFIG_JME is not set
|
||||
@@ -1993,6 +1969,7 @@ CONFIG_MLX5_ESWITCH=y
|
||||
# CONFIG_FEALNX is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_NETRONOME is not set
|
||||
# CONFIG_NET_VENDOR_NI is not set
|
||||
# CONFIG_NET_VENDOR_NVIDIA is not set
|
||||
# CONFIG_NET_VENDOR_OKI is not set
|
||||
# CONFIG_ETHOC is not set
|
||||
@@ -2215,7 +2192,6 @@ CONFIG_SERIAL_8250_EXAR=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=32
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
# CONFIG_SERIAL_8250_FSL is not set
|
||||
# CONFIG_SERIAL_8250_DW is not set
|
||||
# CONFIG_SERIAL_8250_RT288X is not set
|
||||
CONFIG_SERIAL_8250_LPSS=y
|
||||
@@ -2270,7 +2246,7 @@ CONFIG_TCG_NSC=m
|
||||
CONFIG_TCG_ATMEL=m
|
||||
CONFIG_TCG_INFINEON=m
|
||||
CONFIG_TCG_XEN=m
|
||||
CONFIG_TCG_CRB=m
|
||||
CONFIG_TCG_CRB=y
|
||||
CONFIG_TCG_VTPM_PROXY=m
|
||||
CONFIG_TCG_TIS_ST33ZP24=m
|
||||
CONFIG_TCG_TIS_ST33ZP24_I2C=m
|
||||
@@ -2334,7 +2310,6 @@ CONFIG_I2C_ALGOBIT=m
|
||||
# CONFIG_I2C_EMEV2 is not set
|
||||
# CONFIG_I2C_OCORES is not set
|
||||
# CONFIG_I2C_PCA_PLATFORM is not set
|
||||
# CONFIG_I2C_PXA_PCI is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_XILINX is not set
|
||||
|
||||
@@ -2545,6 +2520,7 @@ CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ACPI_POWER is not set
|
||||
# CONFIG_SENSORS_ATK0110 is not set
|
||||
CONFIG_THERMAL=y
|
||||
# CONFIG_THERMAL_STATISTICS is not set
|
||||
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
|
||||
# CONFIG_THERMAL_HWMON is not set
|
||||
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
|
||||
@@ -2644,7 +2620,6 @@ CONFIG_MFD_SM501=y
|
||||
# CONFIG_TWL6040_CORE is not set
|
||||
CONFIG_MFD_WL1273_CORE=y
|
||||
# CONFIG_MFD_LM3533 is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
CONFIG_MFD_VX855=y
|
||||
# CONFIG_MFD_ARIZONA_I2C is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
@@ -2670,9 +2645,7 @@ CONFIG_MFD_VX855=y
|
||||
#
|
||||
# AMD Library routines
|
||||
#
|
||||
# CONFIG_CHASH is not set
|
||||
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
||||
# CONFIG_DRM_LIB_RANDOM is not set
|
||||
|
||||
#
|
||||
# Frame buffer Devices
|
||||
@@ -2681,22 +2654,16 @@ CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_NOTIFY=y
|
||||
# CONFIG_FB_DDC is not set
|
||||
CONFIG_FB_BOOT_VESA_SUPPORT=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
|
||||
CONFIG_FB_SYS_FILLRECT=y
|
||||
CONFIG_FB_SYS_COPYAREA=y
|
||||
CONFIG_FB_SYS_IMAGEBLIT=y
|
||||
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
|
||||
# CONFIG_FB_FOREIGN_ENDIAN is not set
|
||||
CONFIG_FB_SYS_FOPS=y
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
|
||||
@@ -2751,7 +2718,6 @@ CONFIG_FB_HYPERV=y
|
||||
# CONFIG_FB_SIMPLE is not set
|
||||
# CONFIG_FB_SM712 is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
|
||||
#
|
||||
# Console display driver support
|
||||
@@ -2898,7 +2864,6 @@ CONFIG_USB_EHCI_PCI=m
|
||||
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
|
||||
# CONFIG_USB_OXU210HP_HCD is not set
|
||||
# CONFIG_USB_ISP116X_HCD is not set
|
||||
# CONFIG_USB_ISP1362_HCD is not set
|
||||
# CONFIG_USB_FOTG210_HCD is not set
|
||||
CONFIG_USB_OHCI_HCD=m
|
||||
CONFIG_USB_OHCI_HCD_PCI=m
|
||||
@@ -2990,7 +2955,6 @@ CONFIG_USB_STORAGE=m
|
||||
#
|
||||
# USB Physical Layer drivers
|
||||
#
|
||||
# CONFIG_USB_PHY is not set
|
||||
# CONFIG_NOP_USB_XCEIV is not set
|
||||
# CONFIG_USB_ISP1301 is not set
|
||||
# CONFIG_USB_GADGET is not set
|
||||
@@ -3158,7 +3122,6 @@ CONFIG_X86_PLATFORM_DEVICES=y
|
||||
# CONFIG_ACER_WIRELESS is not set
|
||||
# CONFIG_ACERHDF is not set
|
||||
# CONFIG_DELL_SMBIOS is not set
|
||||
# CONFIG_DELL_WMI is not set
|
||||
# CONFIG_DELL_WMI_AIO is not set
|
||||
# CONFIG_DELL_SMO8800 is not set
|
||||
# CONFIG_FUJITSU_TABLET is not set
|
||||
@@ -3204,11 +3167,9 @@ CONFIG_COMMON_CLK=y
|
||||
# Common Clock Framework
|
||||
#
|
||||
# CONFIG_COMMON_CLK_SI5351 is not set
|
||||
# CONFIG_COMMON_CLK_SI544 is not set
|
||||
# CONFIG_COMMON_CLK_CDCE706 is not set
|
||||
# CONFIG_COMMON_CLK_CS2000_CP is not set
|
||||
# CONFIG_COMMON_CLK_NXP is not set
|
||||
# CONFIG_COMMON_CLK_PXA is not set
|
||||
# CONFIG_COMMON_CLK_PIC32 is not set
|
||||
# CONFIG_HWSPINLOCK is not set
|
||||
|
||||
#
|
||||
@@ -3217,11 +3178,6 @@ CONFIG_COMMON_CLK=y
|
||||
CONFIG_CLKEVT_I8253=y
|
||||
CONFIG_I8253_LOCK=y
|
||||
CONFIG_CLKBLD_I8253=y
|
||||
# CONFIG_ATMEL_PIT is not set
|
||||
# CONFIG_SH_TIMER_CMT is not set
|
||||
# CONFIG_SH_TIMER_MTU2 is not set
|
||||
# CONFIG_SH_TIMER_TMU is not set
|
||||
# CONFIG_EM_TIMER_STI is not set
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_PCC=y
|
||||
# CONFIG_ALTERA_MBOX is not set
|
||||
@@ -3258,7 +3214,6 @@ CONFIG_PCC=y
|
||||
#
|
||||
# Qualcomm SoC drivers
|
||||
#
|
||||
# CONFIG_SUNXI_SRAM is not set
|
||||
# CONFIG_SOC_TI is not set
|
||||
|
||||
#
|
||||
@@ -3291,22 +3246,9 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
||||
# IRQ chip support
|
||||
#
|
||||
CONFIG_ARM_GIC_MAX_NR=1
|
||||
# CONFIG_ARM_GIC_V3_ITS is not set
|
||||
# CONFIG_IPACK_BUS is not set
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_ATH79 is not set
|
||||
# CONFIG_RESET_AXS10X is not set
|
||||
# CONFIG_RESET_BERLIN is not set
|
||||
# CONFIG_RESET_IMX7 is not set
|
||||
# CONFIG_RESET_LANTIQ is not set
|
||||
# CONFIG_RESET_LPC18XX is not set
|
||||
# CONFIG_RESET_MESON is not set
|
||||
# CONFIG_RESET_PISTACHIO is not set
|
||||
# CONFIG_RESET_SIMPLE is not set
|
||||
# CONFIG_RESET_SUNXI is not set
|
||||
# CONFIG_RESET_TI_SYSCON is not set
|
||||
# CONFIG_RESET_ZYNQ is not set
|
||||
# CONFIG_RESET_TEGRA_BPMP is not set
|
||||
# CONFIG_FMC is not set
|
||||
|
||||
#
|
||||
@@ -3338,14 +3280,18 @@ CONFIG_BTT=y
|
||||
CONFIG_ND_PFN=y
|
||||
CONFIG_NVDIMM_PFN=y
|
||||
CONFIG_NVDIMM_DAX=y
|
||||
CONFIG_DAX_DRIVER=y
|
||||
CONFIG_DAX=y
|
||||
CONFIG_DEV_DAX=y
|
||||
CONFIG_DEV_DAX_PMEM=y
|
||||
CONFIG_NVMEM=y
|
||||
|
||||
#
|
||||
# HW tracing support
|
||||
#
|
||||
# CONFIG_STM is not set
|
||||
# CONFIG_INTEL_TH is not set
|
||||
# CONFIG_FPGA is not set
|
||||
# CONFIG_FSI is not set
|
||||
CONFIG_PM_OPP=y
|
||||
# CONFIG_UNISYS_VISORBUS is not set
|
||||
# CONFIG_SIOX is not set
|
||||
@@ -3380,7 +3326,6 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y
|
||||
# CONFIG_APPLE_PROPERTIES is not set
|
||||
CONFIG_RESET_ATTACK_MITIGATION=y
|
||||
CONFIG_UEFI_CPER=y
|
||||
# CONFIG_EFI_DEV_PATH_PARSER is not set
|
||||
|
||||
#
|
||||
# Tegra firmware driver
|
||||
@@ -3449,6 +3394,7 @@ CONFIG_OVERLAY_FS=y
|
||||
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
|
||||
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
|
||||
# CONFIG_OVERLAY_FS_INDEX is not set
|
||||
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
|
||||
|
||||
#
|
||||
# Caches
|
||||
@@ -3536,9 +3482,14 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
|
||||
# CONFIG_QNX6FS_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_PSTORE=y
|
||||
CONFIG_PSTORE_ZLIB_COMPRESS=y
|
||||
CONFIG_PSTORE_DEFLATE_COMPRESS=y
|
||||
# CONFIG_PSTORE_LZO_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
|
||||
# CONFIG_PSTORE_842_COMPRESS is not set
|
||||
CONFIG_PSTORE_COMPRESS=y
|
||||
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
|
||||
CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
|
||||
# CONFIG_PSTORE_CONSOLE is not set
|
||||
# CONFIG_PSTORE_PMSG is not set
|
||||
# CONFIG_PSTORE_FTRACE is not set
|
||||
@@ -3728,13 +3679,13 @@ CONFIG_ARCH_HAS_KCOV=y
|
||||
#
|
||||
CONFIG_LOCKUP_DETECTOR=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
|
||||
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
|
||||
CONFIG_HARDLOCKUP_DETECTOR=y
|
||||
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
|
||||
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
@@ -3752,13 +3703,15 @@ CONFIG_SCHED_INFO=y
|
||||
#
|
||||
# Lock Debugging (spinlocks, mutexes, etc...)
|
||||
#
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
@@ -3776,8 +3729,6 @@ CONFIG_DEBUG_CREDENTIALS=y
|
||||
#
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
@@ -3873,11 +3824,11 @@ CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
# CONFIG_KGDB is not set
|
||||
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
|
||||
# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
|
||||
CONFIG_UBSAN=y
|
||||
# CONFIG_UBSAN_SANITIZE_ALL is not set
|
||||
# CONFIG_UBSAN_ALIGNMENT is not set
|
||||
# CONFIG_UBSAN_NULL is not set
|
||||
# CONFIG_TEST_UBSAN is not set
|
||||
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
CONFIG_IO_STRICT_DEVMEM=y
|
||||
@@ -3886,7 +3837,6 @@ CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_EARLY_PRINTK_DBGP is not set
|
||||
# CONFIG_EARLY_PRINTK_EFI is not set
|
||||
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
|
||||
# CONFIG_X86_PTDUMP_CORE is not set
|
||||
# CONFIG_X86_PTDUMP is not set
|
||||
# CONFIG_EFI_PGT_DUMP is not set
|
||||
# CONFIG_DEBUG_WX is not set
|
||||
@@ -3926,7 +3876,6 @@ CONFIG_ENCRYPTED_KEYS=y
|
||||
CONFIG_KEY_DH_OPERATIONS=y
|
||||
CONFIG_SECURITY_DMESG_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
# CONFIG_SECURITY_WRITABLE_HOOKS is not set
|
||||
CONFIG_SECURITYFS=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_PAGE_TABLE_ISOLATION=y
|
||||
@@ -4006,7 +3955,6 @@ CONFIG_CRYPTO_CRYPTD=y
|
||||
# CONFIG_CRYPTO_MCRYPTD is not set
|
||||
CONFIG_CRYPTO_AUTHENC=y
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
CONFIG_CRYPTO_ABLK_HELPER=y
|
||||
CONFIG_CRYPTO_SIMD=y
|
||||
CONFIG_CRYPTO_GLUE_HELPER_X86=y
|
||||
CONFIG_CRYPTO_ENGINE=m
|
||||
@@ -4024,6 +3972,7 @@ CONFIG_CRYPTO_ECHAINIV=y
|
||||
# Block modes
|
||||
#
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
# CONFIG_CRYPTO_CFB is not set
|
||||
CONFIG_CRYPTO_CTR=y
|
||||
CONFIG_CRYPTO_CTS=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
@@ -4108,6 +4057,8 @@ CONFIG_CRYPTO_SERPENT=y
|
||||
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
|
||||
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
|
||||
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
|
||||
# CONFIG_CRYPTO_SM4 is not set
|
||||
# CONFIG_CRYPTO_SPECK is not set
|
||||
CONFIG_CRYPTO_TEA=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH_COMMON=y
|
||||
@@ -4144,7 +4095,6 @@ CONFIG_CRYPTO_HW=y
|
||||
CONFIG_CRYPTO_DEV_PADLOCK=y
|
||||
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
|
||||
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set
|
||||
# CONFIG_CRYPTO_DEV_CCP is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
|
||||
@@ -4193,7 +4143,6 @@ CONFIG_BINARY_PRINTF=y
|
||||
#
|
||||
CONFIG_RAID6_PQ=m
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_HAVE_ARCH_BITREVERSE is not set
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||
CONFIG_GENERIC_STRNLEN_USER=y
|
||||
@@ -4218,7 +4167,6 @@ CONFIG_CRC32_SLICEBY8=y
|
||||
CONFIG_LIBCRC32C=y
|
||||
# CONFIG_CRC8 is not set
|
||||
CONFIG_XXHASH=m
|
||||
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
|
||||
# CONFIG_RANDOM32_SELFTEST is not set
|
||||
CONFIG_842_COMPRESS=y
|
||||
CONFIG_842_DECOMPRESS=y
|
||||
@@ -4252,8 +4200,7 @@ CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_SGL_ALLOC=y
|
||||
# CONFIG_DMA_DIRECT_OPS is not set
|
||||
# CONFIG_DMA_VIRT_OPS is not set
|
||||
CONFIG_DMA_DIRECT_OPS=y
|
||||
CONFIG_CHECK_SIGNATURE=y
|
||||
CONFIG_CPU_RMAP=y
|
||||
CONFIG_DQL=y
|
||||
@@ -4273,7 +4220,6 @@ CONFIG_FONT_SUPPORT=y
|
||||
# CONFIG_FONTS is not set
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
CONFIG_ARCH_HAS_PMEM_API=y
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.4.131 Kernel Configuration
|
||||
# Linux/x86 4.4.139 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
@@ -183,6 +183,7 @@ CONFIG_RD_GZIP=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.9.99 Kernel Configuration
|
||||
# Linux/x86 4.9.111 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From 1f9863a3348be088896f745bca5cf5a31d1d2c96 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Wed, 11 Apr 2018 11:27:44 +0200
|
||||
Subject: [PATCH 001/418] Revert mm/vmstat.c: fix vmstat_update() preemption
|
||||
BUG
|
||||
|
||||
commit 97731753d44d5efcb95b994dc952c0e8195b3e96 upstream
|
||||
|
||||
This patch reverts commit c7f26ccfb2c3 ("mm/vmstat.c: fix
|
||||
vmstat_update() preemption BUG").
|
||||
Steven saw a "using smp_processor_id() in preemptible" message and
|
||||
added a preempt_disable() section around it to keep it quiet. This is
|
||||
not the right thing to do it does not fix the real problem.
|
||||
|
||||
vmstat_update() is invoked by a kworker on a specific CPU. This worker
|
||||
it bound to this CPU. The name of the worker was "kworker/1:1" so it
|
||||
should have been a worker which was bound to CPU1. A worker which can
|
||||
run on any CPU would have a `u' before the first digit.
|
||||
|
||||
smp_processor_id() can be used in a preempt-enabled region as long as
|
||||
the task is bound to a single CPU which is the case here. If it could
|
||||
run on an arbitrary CPU then this is the problem we have an should seek
|
||||
to resolve.
|
||||
Not only this smp_processor_id() must not be migrated to another CPU but
|
||||
also refresh_cpu_vm_stats() which might access wrong per-CPU variables.
|
||||
Not to mention that other code relies on the fact that such a worker
|
||||
runs on one specific CPU only.
|
||||
|
||||
Therefore I revert that commit and we should look instead what broke the
|
||||
affinity mask of the kworker.
|
||||
|
||||
Cc: Steven J. Hill <steven.hill@cavium.com>
|
||||
Cc: Tejun Heo <htejun@gmail.com>
|
||||
Cc: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
|
||||
---
|
||||
mm/vmstat.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/mm/vmstat.c b/mm/vmstat.c
|
||||
index e085b13c572e..4bb13e72ac97 100644
|
||||
--- a/mm/vmstat.c
|
||||
+++ b/mm/vmstat.c
|
||||
@@ -1770,11 +1770,9 @@ static void vmstat_update(struct work_struct *w)
|
||||
* to occur in the future. Keep on running the
|
||||
* update worker thread.
|
||||
*/
|
||||
- preempt_disable();
|
||||
queue_delayed_work_on(smp_processor_id(), mm_percpu_wq,
|
||||
this_cpu_ptr(&vmstat_work),
|
||||
round_jiffies_relative(sysctl_stat_interval));
|
||||
- preempt_enable();
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 0ff9e891f4b361a8909d6f062f5137f041d6adaa Mon Sep 17 00:00:00 2001
|
||||
From: Boqun Feng <boqun.feng@gmail.com>
|
||||
Date: Fri, 9 Mar 2018 14:56:28 +0800
|
||||
Subject: [PATCH] rtmutex: Make rt_mutex_futex_unlock() safe for irq-off
|
||||
callsites
|
||||
Subject: [PATCH 002/418] rtmutex: Make rt_mutex_futex_unlock() safe for
|
||||
irq-off callsites
|
||||
|
||||
Upstream commit 6b0ef92fee2a3189eba6d6b827b247cb4f6da7e9
|
||||
|
||||
@@ -99,12 +100,14 @@ Cc: "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>
|
||||
Link: https://lkml.kernel.org/r/20180309065630.8283-1-boqun.feng@gmail.com
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/locking/rtmutex.c | 5 +++--
|
||||
kernel/locking/rtmutex.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
|
||||
index 65cc0cb984e6..940633c63254 100644
|
||||
--- a/kernel/locking/rtmutex.c
|
||||
+++ b/kernel/locking/rtmutex.c
|
||||
@@ -1616,11 +1616,12 @@ bool __sched __rt_mutex_futex_unlock(str
|
||||
@@ -1616,11 +1616,12 @@ bool __sched __rt_mutex_futex_unlock(struct rt_mutex *lock,
|
||||
void __sched rt_mutex_futex_unlock(struct rt_mutex *lock)
|
||||
{
|
||||
DEFINE_WAKE_Q(wake_q);
|
||||
@@ -119,3 +122,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
if (postunlock)
|
||||
rt_mutex_postunlock(&wake_q);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
From 7b28fe258efc9f3d9dbac60f39826d57845ff991 Mon Sep 17 00:00:00 2001
|
||||
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
|
||||
Date: Tue, 19 Sep 2017 15:36:42 -0700
|
||||
Subject: [PATCH] rcu: Suppress lockdep false-positive ->boost_mtx complaints
|
||||
Subject: [PATCH 003/418] rcu: Suppress lockdep false-positive ->boost_mtx
|
||||
complaints
|
||||
|
||||
Upstream commit bcda31a2659497df39d6bedfbdf17498b4f4ac89
|
||||
|
||||
@@ -20,9 +22,11 @@ Suggested-by: Peter Zijlstra <peterz@infradead.org>
|
||||
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/rcu/tree_plugin.h | 5 ++---
|
||||
kernel/rcu/tree_plugin.h | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
|
||||
index 8b3102d22823..181e2487c8b8 100644
|
||||
--- a/kernel/rcu/tree_plugin.h
|
||||
+++ b/kernel/rcu/tree_plugin.h
|
||||
@@ -31,11 +31,10 @@
|
||||
@@ -38,7 +42,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/*
|
||||
* Control variables for per-CPU and per-rcu_node kthreads. These
|
||||
* handle all flavors of RCU.
|
||||
@@ -530,7 +529,7 @@ void rcu_read_unlock_special(struct task
|
||||
@@ -530,7 +529,7 @@ void rcu_read_unlock_special(struct task_struct *t)
|
||||
|
||||
/* Unboost if we were boosted. */
|
||||
if (IS_ENABLED(CONFIG_RCU_BOOST) && drop_boost_mutex)
|
||||
@@ -47,3 +51,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/*
|
||||
* If this was the last task on the expedited lists,
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From e90c5da25d3a76acf44c248eb76fe0b6794174dd Mon Sep 17 00:00:00 2001
|
||||
From: Mikulas Patocka <mpatocka@redhat.com>
|
||||
Date: Fri, 10 Nov 2017 12:29:34 -0500
|
||||
Subject: [PATCH] brd: remove unused brd_mutex
|
||||
Subject: [PATCH 004/418] brd: remove unused brd_mutex
|
||||
|
||||
Upstream commit 15f7b41f70ddcca3b555bd0fdc7c8da7466b517e
|
||||
|
||||
@@ -11,9 +12,11 @@ Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
|
||||
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
drivers/block/brd.c | 1 -
|
||||
drivers/block/brd.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
|
||||
index 2d7178f7754e..c1cf87718c2e 100644
|
||||
--- a/drivers/block/brd.c
|
||||
+++ b/drivers/block/brd.c
|
||||
@@ -60,7 +60,6 @@ struct brd_device {
|
||||
@@ -24,3 +27,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static struct page *brd_lookup_page(struct brd_device *brd, sector_t sector)
|
||||
{
|
||||
pgoff_t idx;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 36d6a35ae79ce5699704c987d3b4d3eb2de6e7db Mon Sep 17 00:00:00 2001
|
||||
From: Christoffer Dall <christoffer.dall@linaro.org>
|
||||
Date: Fri, 8 Sep 2017 07:07:13 -0700
|
||||
Subject: [PATCH] KVM: arm/arm64: Remove redundant preemptible checks
|
||||
Subject: [PATCH 005/418] KVM: arm/arm64: Remove redundant preemptible checks
|
||||
|
||||
Upstream commit 5a24575032971c5a9a4580417a791c427ebdb8e5
|
||||
|
||||
@@ -15,12 +16,14 @@ Reviewed-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
virt/kvm/arm/arm.c | 2 --
|
||||
virt/kvm/arm/arm.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c
|
||||
index 9bee849db682..0c5d846ba809 100644
|
||||
--- a/virt/kvm/arm/arm.c
|
||||
+++ b/virt/kvm/arm/arm.c
|
||||
@@ -69,7 +69,6 @@ static DEFINE_PER_CPU(unsigned char, kvm
|
||||
@@ -69,7 +69,6 @@ static DEFINE_PER_CPU(unsigned char, kvm_arm_hardware_enabled);
|
||||
|
||||
static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
@@ -28,7 +31,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
__this_cpu_write(kvm_arm_running_vcpu, vcpu);
|
||||
}
|
||||
|
||||
@@ -79,7 +78,6 @@ static void kvm_arm_set_running_vcpu(str
|
||||
@@ -79,7 +78,6 @@ static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu)
|
||||
*/
|
||||
struct kvm_vcpu *kvm_arm_get_running_vcpu(void)
|
||||
{
|
||||
@@ -36,3 +39,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return __this_cpu_read(kvm_arm_running_vcpu);
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
From c9e312daee80f74ba3e2b50da2ea33336f6846e8 Mon Sep 17 00:00:00 2001
|
||||
From: Tejun Heo <tj@kernel.org>
|
||||
Date: Tue, 9 Jan 2018 07:21:15 -0800
|
||||
Subject: [PATCH 006/418] string: drop __must_check from strscpy() and restore
|
||||
strscpy() usages in cgroup
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream commit 08a77676f9c5fc69a681ccd2cd8140e65dcb26c7
|
||||
|
||||
e7fd37ba1217 ("cgroup: avoid copying strings longer than the buffers")
|
||||
converted possibly unsafe strncpy() usages in cgroup to strscpy().
|
||||
However, although the callsites are completely fine with truncated
|
||||
copied, because strscpy() is marked __must_check, it led to the
|
||||
following warnings.
|
||||
|
||||
kernel/cgroup/cgroup.c: In function ‘cgroup_file_name’:
|
||||
kernel/cgroup/cgroup.c:1400:10: warning: ignoring return value of ‘strscpy’, declared with attribute warn_unused_result [-Wunused-result]
|
||||
strscpy(buf, cft->name, CGROUP_FILE_NAME_MAX);
|
||||
^
|
||||
|
||||
To avoid the warnings, 50034ed49645 ("cgroup: use strlcpy() instead of
|
||||
strscpy() to avoid spurious warning") switched them to strlcpy().
|
||||
|
||||
strlcpy() is worse than strlcpy() because it unconditionally runs
|
||||
strlen() on the source string, and the only reason we switched to
|
||||
strlcpy() here was because it was lacking __must_check, which doesn't
|
||||
reflect any material differences between the two function. It's just
|
||||
that someone added __must_check to strscpy() and not to strlcpy().
|
||||
|
||||
These basic string copy operations are used in variety of ways, and
|
||||
one of not-so-uncommon use cases is safely handling truncated copies,
|
||||
where the caller naturally doesn't care about the return value. The
|
||||
__must_check doesn't match the actual use cases and forces users to
|
||||
opt for inferior variants which lack __must_check by happenstance or
|
||||
spread ugly (void) casts.
|
||||
|
||||
Remove __must_check from strscpy() and restore strscpy() usages in
|
||||
cgroup.
|
||||
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
Cc: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
|
||||
Cc: Arnd Bergmann <arnd@arndb.de>
|
||||
Cc: Chris Metcalf <cmetcalf@ezchip.com>
|
||||
[bigeasy: drop the cgroup.c hunk]
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/string.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/linux/string.h b/include/linux/string.h
|
||||
index cfd83eb2f926..96115bf561b4 100644
|
||||
--- a/include/linux/string.h
|
||||
+++ b/include/linux/string.h
|
||||
@@ -28,7 +28,7 @@ extern char * strncpy(char *,const char *, __kernel_size_t);
|
||||
size_t strlcpy(char *, const char *, size_t);
|
||||
#endif
|
||||
#ifndef __HAVE_ARCH_STRSCPY
|
||||
-ssize_t __must_check strscpy(char *, const char *, size_t);
|
||||
+ssize_t strscpy(char *, const char *, size_t);
|
||||
#endif
|
||||
#ifndef __HAVE_ARCH_STRCAT
|
||||
extern char * strcat(char *, const char *);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 5217a4b31298b5ff1082bd88e6ac8054780b6aaf Mon Sep 17 00:00:00 2001
|
||||
From: Scott Wood <swood@redhat.com>
|
||||
Date: Sun, 21 Jan 2018 03:28:54 -0600
|
||||
Subject: [PATCH 1/3] iommu/amd: Use raw locks on atomic context paths
|
||||
Subject: [PATCH 007/418] iommu/amd: Use raw locks on atomic context paths
|
||||
|
||||
Upstream commit 27790398c2aed917828dc3c6f81240d57f1584c9
|
||||
|
||||
@@ -13,14 +14,16 @@ a potential PREEMPT_RT latency concern but not easily avoidable.
|
||||
Signed-off-by: Scott Wood <swood@redhat.com>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 30 +++++++++++++++---------------
|
||||
drivers/iommu/amd_iommu_init.c | 2 +-
|
||||
drivers/iommu/amd_iommu_types.h | 4 ++--
|
||||
drivers/iommu/amd_iommu.c | 30 +++++++++++++++---------------
|
||||
drivers/iommu/amd_iommu_init.c | 2 +-
|
||||
drivers/iommu/amd_iommu_types.h | 4 ++--
|
||||
3 files changed, 18 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index 10190e361a13..ff50337fe3ba 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -1054,9 +1054,9 @@ static int iommu_queue_command_sync(stru
|
||||
@@ -1056,9 +1056,9 @@ static int iommu_queue_command_sync(struct amd_iommu *iommu,
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
@@ -32,7 +35,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1082,7 +1082,7 @@ static int iommu_completion_wait(struct
|
||||
@@ -1084,7 +1084,7 @@ static int iommu_completion_wait(struct amd_iommu *iommu)
|
||||
|
||||
build_completion_wait(&cmd, (u64)&iommu->cmd_sem);
|
||||
|
||||
@@ -41,7 +44,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu->cmd_sem = 0;
|
||||
|
||||
@@ -1093,7 +1093,7 @@ static int iommu_completion_wait(struct
|
||||
@@ -1095,7 +1095,7 @@ static int iommu_completion_wait(struct amd_iommu *iommu)
|
||||
ret = wait_on_sem(&iommu->cmd_sem);
|
||||
|
||||
out_unlock:
|
||||
@@ -50,7 +53,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -3618,7 +3618,7 @@ static struct irq_remap_table *get_irq_t
|
||||
@@ -3620,7 +3620,7 @@ static struct irq_remap_table *get_irq_table(u16 devid, bool ioapic)
|
||||
goto out_unlock;
|
||||
|
||||
/* Initialize table spin-lock */
|
||||
@@ -59,7 +62,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
if (ioapic)
|
||||
/* Keep the first 32 indexes free for IOAPIC interrupts */
|
||||
@@ -3677,7 +3677,7 @@ static int alloc_irq_index(u16 devid, in
|
||||
@@ -3679,7 +3679,7 @@ static int alloc_irq_index(u16 devid, int count)
|
||||
if (!table)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -68,7 +71,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
/* Scan table for free entries */
|
||||
for (c = 0, index = table->min_index;
|
||||
@@ -3700,7 +3700,7 @@ static int alloc_irq_index(u16 devid, in
|
||||
@@ -3702,7 +3702,7 @@ static int alloc_irq_index(u16 devid, int count)
|
||||
index = -ENOSPC;
|
||||
|
||||
out:
|
||||
@@ -77,7 +80,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
return index;
|
||||
}
|
||||
@@ -3721,7 +3721,7 @@ static int modify_irte_ga(u16 devid, int
|
||||
@@ -3723,7 +3723,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
|
||||
if (!table)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -86,7 +89,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
entry = (struct irte_ga *)table->table;
|
||||
entry = &entry[index];
|
||||
@@ -3732,7 +3732,7 @@ static int modify_irte_ga(u16 devid, int
|
||||
@@ -3734,7 +3734,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
|
||||
if (data)
|
||||
data->ref = entry;
|
||||
|
||||
@@ -95,7 +98,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu_flush_irt(iommu, devid);
|
||||
iommu_completion_wait(iommu);
|
||||
@@ -3754,9 +3754,9 @@ static int modify_irte(u16 devid, int in
|
||||
@@ -3756,9 +3756,9 @@ static int modify_irte(u16 devid, int index, union irte *irte)
|
||||
if (!table)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -107,7 +110,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu_flush_irt(iommu, devid);
|
||||
iommu_completion_wait(iommu);
|
||||
@@ -3778,9 +3778,9 @@ static void free_irte(u16 devid, int ind
|
||||
@@ -3780,9 +3780,9 @@ static void free_irte(u16 devid, int index)
|
||||
if (!table)
|
||||
return;
|
||||
|
||||
@@ -119,7 +122,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu_flush_irt(iommu, devid);
|
||||
iommu_completion_wait(iommu);
|
||||
@@ -4359,7 +4359,7 @@ int amd_iommu_update_ga(int cpu, bool is
|
||||
@@ -4361,7 +4361,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
|
||||
if (!irt)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -128,7 +131,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
if (ref->lo.fields_vapic.guest_mode) {
|
||||
if (cpu >= 0)
|
||||
@@ -4368,7 +4368,7 @@ int amd_iommu_update_ga(int cpu, bool is
|
||||
@@ -4370,7 +4370,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
|
||||
barrier();
|
||||
}
|
||||
|
||||
@@ -137,9 +140,11 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu_flush_irt(iommu, devid);
|
||||
iommu_completion_wait(iommu);
|
||||
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
|
||||
index 6fe2d0346073..e3cd81b32a33 100644
|
||||
--- a/drivers/iommu/amd_iommu_init.c
|
||||
+++ b/drivers/iommu/amd_iommu_init.c
|
||||
@@ -1474,7 +1474,7 @@ static int __init init_iommu_one(struct
|
||||
@@ -1474,7 +1474,7 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@@ -148,6 +153,8 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
/* Add IOMMU to internal data structures */
|
||||
list_add_tail(&iommu->list, &amd_iommu_list);
|
||||
diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h
|
||||
index f6b24c7d8b70..7521745dc2a5 100644
|
||||
--- a/drivers/iommu/amd_iommu_types.h
|
||||
+++ b/drivers/iommu/amd_iommu_types.h
|
||||
@@ -406,7 +406,7 @@ extern bool amd_iommu_iotlb_sup;
|
||||
@@ -168,3 +175,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
/* Pointer to PCI device of this IOMMU */
|
||||
struct pci_dev *dev;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:33 +0100
|
||||
Subject: [PATCH 01/10] iommu/amd: Take into account that alloc_dev_data() may
|
||||
return NULL
|
||||
|
||||
Upstream commit 39ffe39545cd5cb5b8cee9f0469165cf24dc62c2
|
||||
|
||||
find_dev_data() does not check whether the return value alloc_dev_data()
|
||||
is NULL. This was okay once because the pointer was returned once as-is.
|
||||
Since commit df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred
|
||||
call-back") the pointer may be used within find_dev_data() so a NULL
|
||||
check is required.
|
||||
|
||||
Cc: Baoquan He <bhe@redhat.com>
|
||||
Fixes: df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred call-back")
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -311,6 +311,8 @@ static struct iommu_dev_data *find_dev_d
|
||||
|
||||
if (dev_data == NULL) {
|
||||
dev_data = alloc_dev_data(devid);
|
||||
+ if (!dev_data)
|
||||
+ return NULL;
|
||||
|
||||
if (translation_pre_enabled(iommu))
|
||||
dev_data->defer_attach = true;
|
||||
@@ -1,6 +1,8 @@
|
||||
From f139b736cc22cafcb207795386fe46e0a8fea151 Mon Sep 17 00:00:00 2001
|
||||
From: Scott Wood <swood@redhat.com>
|
||||
Date: Sun, 28 Jan 2018 14:22:19 -0600
|
||||
Subject: [PATCH 2/3] iommu/amd: Don't use dev_data in irte_ga_set_affinity()
|
||||
Subject: [PATCH 008/418] iommu/amd: Don't use dev_data in
|
||||
irte_ga_set_affinity()
|
||||
|
||||
Upstream commit 01ee04badefd296eb7a4430497373be9b7b16783
|
||||
|
||||
@@ -12,12 +14,14 @@ not set.
|
||||
Signed-off-by: Scott Wood <swood@redhat.com>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 4 +---
|
||||
drivers/iommu/amd_iommu.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index ff50337fe3ba..388ec5e98ef5 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -3861,10 +3861,8 @@ static void irte_ga_set_affinity(void *e
|
||||
@@ -3863,10 +3863,8 @@ static void irte_ga_set_affinity(void *entry, u16 devid, u16 index,
|
||||
u8 vector, u32 dest_apicid)
|
||||
{
|
||||
struct irte_ga *irte = (struct irte_ga *) entry;
|
||||
@@ -29,3 +33,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
irte->hi.fields.vector = vector;
|
||||
irte->lo.fields_remap.destination = dest_apicid;
|
||||
modify_irte_ga(devid, index, irte, NULL);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From eec0129e06a60a46f1f09a329f850a248af0e4ea Mon Sep 17 00:00:00 2001
|
||||
From: Scott Wood <swood@redhat.com>
|
||||
Date: Wed, 14 Feb 2018 17:36:28 -0600
|
||||
Subject: [PATCH 3/3] iommu/amd: Avoid locking get_irq_table() from atomic
|
||||
Subject: [PATCH 009/418] iommu/amd: Avoid locking get_irq_table() from atomic
|
||||
context
|
||||
|
||||
Upstream commit df42a04b15f19a842393dc98a84cbc52b1f8ed49
|
||||
@@ -31,12 +32,14 @@ if it doesn't find what it's looking for.
|
||||
Signed-off-by: Scott Wood <swood@redhat.com>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 29 ++++++++++++++++++++++-------
|
||||
drivers/iommu/amd_iommu.c | 29 ++++++++++++++++++++++-------
|
||||
1 file changed, 22 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index 388ec5e98ef5..e42992fcebca 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -3586,7 +3586,22 @@ static void set_dte_irq_entry(u16 devid,
|
||||
@@ -3588,7 +3588,22 @@ static void set_dte_irq_entry(u16 devid, struct irq_remap_table *table)
|
||||
amd_iommu_dev_table[devid].data[2] = dte;
|
||||
}
|
||||
|
||||
@@ -60,7 +63,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
{
|
||||
struct irq_remap_table *table = NULL;
|
||||
struct amd_iommu *iommu;
|
||||
@@ -3673,7 +3688,7 @@ static int alloc_irq_index(u16 devid, in
|
||||
@@ -3675,7 +3690,7 @@ static int alloc_irq_index(u16 devid, int count)
|
||||
if (!iommu)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -69,7 +72,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
if (!table)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -3717,7 +3732,7 @@ static int modify_irte_ga(u16 devid, int
|
||||
@@ -3719,7 +3734,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
|
||||
if (iommu == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -78,7 +81,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
if (!table)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -3750,7 +3765,7 @@ static int modify_irte(u16 devid, int in
|
||||
@@ -3752,7 +3767,7 @@ static int modify_irte(u16 devid, int index, union irte *irte)
|
||||
if (iommu == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -87,7 +90,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
if (!table)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -3774,7 +3789,7 @@ static void free_irte(u16 devid, int ind
|
||||
@@ -3776,7 +3791,7 @@ static void free_irte(u16 devid, int index)
|
||||
if (iommu == NULL)
|
||||
return;
|
||||
|
||||
@@ -96,7 +99,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
if (!table)
|
||||
return;
|
||||
|
||||
@@ -4092,7 +4107,7 @@ static int irq_remapping_alloc(struct ir
|
||||
@@ -4094,7 +4109,7 @@ static int irq_remapping_alloc(struct irq_domain *domain, unsigned int virq,
|
||||
return ret;
|
||||
|
||||
if (info->type == X86_IRQ_ALLOC_TYPE_IOAPIC) {
|
||||
@@ -105,7 +108,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
index = info->ioapic_pin;
|
||||
else
|
||||
ret = -ENOMEM;
|
||||
@@ -4353,7 +4368,7 @@ int amd_iommu_update_ga(int cpu, bool is
|
||||
@@ -4355,7 +4370,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
|
||||
if (!iommu)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -114,3 +117,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
if (!irt)
|
||||
return -ENODEV;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 53ff4b0f4c2a4ae8eea46b71b11b9fc5a7d79a11 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:34 +0100
|
||||
Subject: [PATCH 02/10] iommu/amd: Turn dev_data_list into a lock less list
|
||||
Subject: [PATCH 010/418] iommu/amd: Turn dev_data_list into a lock less list
|
||||
|
||||
Upstream commit 779da73273fc4c4c6f41579a95e4fb7880a1720e
|
||||
|
||||
@@ -18,10 +19,12 @@ it.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 28 ++++++++++------------------
|
||||
drivers/iommu/amd_iommu_types.h | 2 +-
|
||||
drivers/iommu/amd_iommu.c | 28 ++++++++++------------------
|
||||
drivers/iommu/amd_iommu_types.h | 2 +-
|
||||
2 files changed, 11 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index e42992fcebca..1babecd37819 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -84,8 +84,7 @@
|
||||
@@ -34,7 +37,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
LIST_HEAD(ioapic_map);
|
||||
LIST_HEAD(hpet_map);
|
||||
@@ -204,40 +203,33 @@ static struct dma_ops_domain* to_dma_ops
|
||||
@@ -204,40 +203,33 @@ static struct dma_ops_domain* to_dma_ops_domain(struct protection_domain *domain
|
||||
static struct iommu_dev_data *alloc_dev_data(u16 devid)
|
||||
{
|
||||
struct iommu_dev_data *dev_data;
|
||||
@@ -84,6 +87,8 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
}
|
||||
|
||||
static int __last_alias(struct pci_dev *pdev, u16 alias, void *data)
|
||||
diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h
|
||||
index 7521745dc2a5..16b1404da58c 100644
|
||||
--- a/drivers/iommu/amd_iommu_types.h
|
||||
+++ b/drivers/iommu/amd_iommu_types.h
|
||||
@@ -625,7 +625,7 @@ struct devid_map {
|
||||
@@ -95,3 +100,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
struct protection_domain *domain; /* Domain the device is bound to */
|
||||
u16 devid; /* PCI Device ID */
|
||||
u16 alias; /* Alias Device ID */
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 1645ac08eb6be3c6b2900de419f578ed5f91ecf4 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:35 +0100
|
||||
Subject: [PATCH 03/10] iommu/amd: Split domain id out of
|
||||
Subject: [PATCH 011/418] iommu/amd: Split domain id out of
|
||||
amd_iommu_devtable_lock
|
||||
|
||||
Upstream commit 2bc00180890427dcc092b2f2b0d03c904bcade29
|
||||
@@ -13,9 +14,11 @@ amd_iommu_devtable_lock, it can use its own lock for this operation.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 12 +++++-------
|
||||
drivers/iommu/amd_iommu.c | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index 1babecd37819..250b6354fae5 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -82,6 +82,7 @@
|
||||
@@ -26,7 +29,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
/* List of all available dev_data structures */
|
||||
static LLIST_HEAD(dev_data_list);
|
||||
@@ -1596,29 +1597,26 @@ static void del_domain_from_list(struct
|
||||
@@ -1596,29 +1597,26 @@ static void del_domain_from_list(struct protection_domain *domain)
|
||||
|
||||
static u16 domain_id_alloc(void)
|
||||
{
|
||||
@@ -60,3 +63,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
}
|
||||
|
||||
#define DEFINE_FREE_PT_FN(LVL, FN) \
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 37ded533c97f8424a00e051c4351ab2515717457 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:36 +0100
|
||||
Subject: [PATCH 04/10] iommu/amd: Split irq_lookup_table out of the
|
||||
Subject: [PATCH 012/418] iommu/amd: Split irq_lookup_table out of the
|
||||
amd_iommu_devtable_lock
|
||||
|
||||
Upstream commit ea6166f4b83e9cfba1c18f46a764d50045682fe5
|
||||
@@ -17,9 +18,11 @@ So split out get_irq_table() out of amd_iommu_devtable_lock's lock.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 5 +++--
|
||||
drivers/iommu/amd_iommu.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index 250b6354fae5..2cedb0caec73 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -83,6 +83,7 @@
|
||||
@@ -30,7 +33,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
/* List of all available dev_data structures */
|
||||
static LLIST_HEAD(dev_data_list);
|
||||
@@ -3600,7 +3601,7 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3600,7 +3601,7 @@ static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
|
||||
unsigned long flags;
|
||||
u16 alias;
|
||||
|
||||
@@ -39,7 +42,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu = amd_iommu_rlookup_table[devid];
|
||||
if (!iommu)
|
||||
@@ -3665,7 +3666,7 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3665,7 +3666,7 @@ static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
|
||||
iommu_completion_wait(iommu);
|
||||
|
||||
out_unlock:
|
||||
@@ -48,3 +51,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
return table;
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 7faa3de9da88db7a577fbc9d11c095425c7de802 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:37 +0100
|
||||
Subject: [PATCH 05/10] iommu/amd: Remove the special case from
|
||||
Subject: [PATCH 013/418] iommu/amd: Remove the special case from
|
||||
alloc_irq_table()
|
||||
|
||||
Upstream commit fde65dd3d3096e8f6ecc7bbe544eb91f4220772c
|
||||
@@ -16,12 +17,14 @@ against other user.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 34 ++++++++++++++++++++--------------
|
||||
drivers/iommu/amd_iommu.c | 34 ++++++++++++++++++++--------------
|
||||
1 file changed, 20 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index 2cedb0caec73..fc23b89d2372 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -3594,7 +3594,7 @@ static struct irq_remap_table *get_irq_t
|
||||
@@ -3594,7 +3594,7 @@ static struct irq_remap_table *get_irq_table(u16 devid)
|
||||
return table;
|
||||
}
|
||||
|
||||
@@ -30,7 +33,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
{
|
||||
struct irq_remap_table *table = NULL;
|
||||
struct amd_iommu *iommu;
|
||||
@@ -3628,10 +3628,6 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3628,10 +3628,6 @@ static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
|
||||
/* Initialize table spin-lock */
|
||||
raw_spin_lock_init(&table->lock);
|
||||
|
||||
@@ -41,7 +44,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
table->table = kmem_cache_alloc(amd_iommu_irq_cache, GFP_ATOMIC);
|
||||
if (!table->table) {
|
||||
kfree(table);
|
||||
@@ -3646,12 +3642,6 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3646,12 +3642,6 @@ static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
|
||||
memset(table->table, 0,
|
||||
(MAX_IRQS_PER_TABLE * (sizeof(u64) * 2)));
|
||||
|
||||
@@ -54,7 +57,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
irq_lookup_table[devid] = table;
|
||||
set_dte_irq_entry(devid, table);
|
||||
@@ -3681,7 +3671,7 @@ static int alloc_irq_index(u16 devid, in
|
||||
@@ -3681,7 +3671,7 @@ static int alloc_irq_index(u16 devid, int count)
|
||||
if (!iommu)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -63,7 +66,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
if (!table)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -4100,10 +4090,26 @@ static int irq_remapping_alloc(struct ir
|
||||
@@ -4100,10 +4090,26 @@ static int irq_remapping_alloc(struct irq_domain *domain, unsigned int virq,
|
||||
return ret;
|
||||
|
||||
if (info->type == X86_IRQ_ALLOC_TYPE_IOAPIC) {
|
||||
@@ -92,3 +95,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
} else {
|
||||
index = alloc_irq_index(devid, nr_irqs);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From c148dfef5e405f1d7f74ac4e667b19007bc31fd1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:38 +0100
|
||||
Subject: [PATCH 06/10] iommu/amd: Use `table' instead `irt' as variable name
|
||||
Subject: [PATCH 014/418] iommu/amd: Use `table' instead `irt' as variable name
|
||||
in amd_iommu_update_ga()
|
||||
|
||||
Upstream commit 4fde541c9dc114c5b448ad34b0286fe8b7c550f1
|
||||
@@ -12,12 +13,14 @@ consistent and name it also `table'.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 10 +++++-----
|
||||
drivers/iommu/amd_iommu.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index fc23b89d2372..bfda5f26ea50 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -4353,7 +4353,7 @@ int amd_iommu_update_ga(int cpu, bool is
|
||||
@@ -4353,7 +4353,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct amd_iommu *iommu;
|
||||
@@ -26,7 +29,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
struct amd_ir_data *ir_data = (struct amd_ir_data *)data;
|
||||
int devid = ir_data->irq_2_irte.devid;
|
||||
struct irte_ga *entry = (struct irte_ga *) ir_data->entry;
|
||||
@@ -4367,11 +4367,11 @@ int amd_iommu_update_ga(int cpu, bool is
|
||||
@@ -4367,11 +4367,11 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
|
||||
if (!iommu)
|
||||
return -ENODEV;
|
||||
|
||||
@@ -41,7 +44,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
if (ref->lo.fields_vapic.guest_mode) {
|
||||
if (cpu >= 0)
|
||||
@@ -4380,7 +4380,7 @@ int amd_iommu_update_ga(int cpu, bool is
|
||||
@@ -4380,7 +4380,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
|
||||
barrier();
|
||||
}
|
||||
|
||||
@@ -50,3 +53,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
iommu_flush_irt(iommu, devid);
|
||||
iommu_completion_wait(iommu);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From ef80165d12b76356146a32c6b43e45e98f052ae9 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:39 +0100
|
||||
Subject: [PATCH 07/10] iommu/amd: Factor out setting the remap table for a
|
||||
Subject: [PATCH 015/418] iommu/amd: Factor out setting the remap table for a
|
||||
devid
|
||||
|
||||
Upstream commit 2fcc1e8ac4a8514c64f946178fc36c2e30e56a41
|
||||
@@ -15,12 +16,14 @@ inline.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 23 ++++++++++++-----------
|
||||
drivers/iommu/amd_iommu.c | 23 ++++++++++++-----------
|
||||
1 file changed, 12 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index bfda5f26ea50..d4eeb91afa36 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -3594,6 +3594,14 @@ static struct irq_remap_table *get_irq_t
|
||||
@@ -3594,6 +3594,14 @@ static struct irq_remap_table *get_irq_table(u16 devid)
|
||||
return table;
|
||||
}
|
||||
|
||||
@@ -35,7 +38,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
static struct irq_remap_table *alloc_irq_table(u16 devid)
|
||||
{
|
||||
struct irq_remap_table *table = NULL;
|
||||
@@ -3614,9 +3622,7 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3614,9 +3622,7 @@ static struct irq_remap_table *alloc_irq_table(u16 devid)
|
||||
alias = amd_iommu_alias_table[devid];
|
||||
table = irq_lookup_table[alias];
|
||||
if (table) {
|
||||
@@ -46,7 +49,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -3643,14 +3649,9 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3643,14 +3649,9 @@ static struct irq_remap_table *alloc_irq_table(u16 devid)
|
||||
(MAX_IRQS_PER_TABLE * (sizeof(u64) * 2)));
|
||||
|
||||
|
||||
@@ -64,3 +67,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
out:
|
||||
iommu_completion_wait(iommu);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From 6224ad75694b7e9aa332a504f1da722c416a4cf3 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:40 +0100
|
||||
Subject: [PATCH 08/10] iommu/amd: Drop the lock while allocating new irq remap
|
||||
table
|
||||
Subject: [PATCH 016/418] iommu/amd: Drop the lock while allocating new irq
|
||||
remap table
|
||||
|
||||
Upstream commit 993ca6e063a69a0c65ca42ed449b6bc1b3844151
|
||||
|
||||
@@ -22,12 +23,14 @@ However I check for both cases, just to be sure.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 63 ++++++++++++++++++++++++++++++++--------------
|
||||
drivers/iommu/amd_iommu.c | 63 ++++++++++++++++++++++++++++-----------
|
||||
1 file changed, 45 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index d4eeb91afa36..8b6e515b395e 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -3594,6 +3594,30 @@ static struct irq_remap_table *get_irq_t
|
||||
@@ -3594,6 +3594,30 @@ static struct irq_remap_table *get_irq_table(u16 devid)
|
||||
return table;
|
||||
}
|
||||
|
||||
@@ -58,7 +61,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
static void set_remap_table_entry(struct amd_iommu *iommu, u16 devid,
|
||||
struct irq_remap_table *table)
|
||||
{
|
||||
@@ -3605,6 +3629,7 @@ static void set_remap_table_entry(struct
|
||||
@@ -3605,6 +3629,7 @@ static void set_remap_table_entry(struct amd_iommu *iommu, u16 devid,
|
||||
static struct irq_remap_table *alloc_irq_table(u16 devid)
|
||||
{
|
||||
struct irq_remap_table *table = NULL;
|
||||
@@ -66,7 +69,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
struct amd_iommu *iommu;
|
||||
unsigned long flags;
|
||||
u16 alias;
|
||||
@@ -3623,42 +3648,44 @@ static struct irq_remap_table *alloc_irq
|
||||
@@ -3623,42 +3648,44 @@ static struct irq_remap_table *alloc_irq_table(u16 devid)
|
||||
table = irq_lookup_table[alias];
|
||||
if (table) {
|
||||
set_remap_table_entry(iommu, devid, table);
|
||||
@@ -129,3 +132,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
return table;
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 9d350d7dff14fe5881062bb1dd588fe1bf19719d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:41 +0100
|
||||
Subject: [PATCH 09/10] iommu/amd: Make amd_iommu_devtable_lock a spin_lock
|
||||
Subject: [PATCH 017/418] iommu/amd: Make amd_iommu_devtable_lock a spin_lock
|
||||
|
||||
Upstream commit 2cd1083d79a0a8c223af430ca97884c28a1e2fc0
|
||||
|
||||
@@ -15,9 +16,11 @@ current user seem to have their own protection.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 14 +++++++-------
|
||||
drivers/iommu/amd_iommu.c | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index 8b6e515b395e..f685026e6d9e 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -81,7 +81,7 @@
|
||||
@@ -29,7 +32,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
static DEFINE_SPINLOCK(pd_bitmap_lock);
|
||||
static DEFINE_SPINLOCK(iommu_table_lock);
|
||||
|
||||
@@ -2086,9 +2086,9 @@ static int attach_device(struct device *
|
||||
@@ -2086,9 +2086,9 @@ static int attach_device(struct device *dev,
|
||||
}
|
||||
|
||||
skip_ats_check:
|
||||
@@ -41,7 +44,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
/*
|
||||
* We might boot into a crash-kernel here. The crashed kernel
|
||||
@@ -2138,9 +2138,9 @@ static void detach_device(struct device
|
||||
@@ -2138,9 +2138,9 @@ static void detach_device(struct device *dev)
|
||||
domain = dev_data->domain;
|
||||
|
||||
/* lock device table */
|
||||
@@ -53,7 +56,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
if (!dev_is_pci(dev))
|
||||
return;
|
||||
@@ -2804,7 +2804,7 @@ static void cleanup_domain(struct protec
|
||||
@@ -2804,7 +2804,7 @@ static void cleanup_domain(struct protection_domain *domain)
|
||||
struct iommu_dev_data *entry;
|
||||
unsigned long flags;
|
||||
|
||||
@@ -62,7 +65,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
while (!list_empty(&domain->dev_list)) {
|
||||
entry = list_first_entry(&domain->dev_list,
|
||||
@@ -2812,7 +2812,7 @@ static void cleanup_domain(struct protec
|
||||
@@ -2812,7 +2812,7 @@ static void cleanup_domain(struct protection_domain *domain)
|
||||
__detach_device(entry);
|
||||
}
|
||||
|
||||
@@ -71,3 +74,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
}
|
||||
|
||||
static void protection_domain_free(struct protection_domain *domain)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From cf3885d685d1115031da5d5963a9152b11cf9f36 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 22 Mar 2018 16:22:42 +0100
|
||||
Subject: [PATCH 10/10] iommu/amd: Return proper error code in
|
||||
Subject: [PATCH 018/418] iommu/amd: Return proper error code in
|
||||
irq_remapping_alloc()
|
||||
|
||||
Upstream commit 29d049be9438278c47253a74cf8d0ddf36bd5d68
|
||||
@@ -15,12 +16,14 @@ In order to correct this, I assign -ENOMEM to index.
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
---
|
||||
drivers/iommu/amd_iommu.c | 4 ++--
|
||||
drivers/iommu/amd_iommu.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
|
||||
index f685026e6d9e..f61c2dab5490 100644
|
||||
--- a/drivers/iommu/amd_iommu.c
|
||||
+++ b/drivers/iommu/amd_iommu.c
|
||||
@@ -4094,7 +4094,7 @@ static int irq_remapping_alloc(struct ir
|
||||
@@ -4094,7 +4094,7 @@ static int irq_remapping_alloc(struct irq_domain *domain, unsigned int virq,
|
||||
struct amd_ir_data *data = NULL;
|
||||
struct irq_cfg *cfg;
|
||||
int i, ret, devid;
|
||||
@@ -29,7 +32,7 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
|
||||
if (!info)
|
||||
return -EINVAL;
|
||||
@@ -4136,7 +4136,7 @@ static int irq_remapping_alloc(struct ir
|
||||
@@ -4136,7 +4136,7 @@ static int irq_remapping_alloc(struct irq_domain *domain, unsigned int virq,
|
||||
WARN_ON(table->min_index != 32);
|
||||
index = info->ioapic_pin;
|
||||
} else {
|
||||
@@ -38,3 +41,6 @@ Signed-off-by: Joerg Roedel <jroedel@suse.de>
|
||||
}
|
||||
} else {
|
||||
index = alloc_irq_index(devid, nr_irqs);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
From d2540f23d6110bdea14e3b9b8af69ee71909096f Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:50 +0100
|
||||
Subject: [PATCH 01/29] timers: Use static keys for migrate_enable/nohz_active
|
||||
Subject: [PATCH 019/418] timers: Use static keys for
|
||||
migrate_enable/nohz_active
|
||||
|
||||
The members migrate_enable and nohz_active in the timer/hrtimer per CPU
|
||||
bases have been introduced to avoid accessing global variables for these
|
||||
@@ -17,13 +19,15 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 4 --
|
||||
kernel/time/hrtimer.c | 17 ++-------
|
||||
kernel/time/tick-internal.h | 19 ++++++----
|
||||
kernel/time/tick-sched.c | 2 -
|
||||
kernel/time/timer.c | 83 ++++++++++++++++++++++----------------------
|
||||
include/linux/hrtimer.h | 4 --
|
||||
kernel/time/hrtimer.c | 17 +++-----
|
||||
kernel/time/tick-internal.h | 19 +++++----
|
||||
kernel/time/tick-sched.c | 2 +-
|
||||
kernel/time/timer.c | 83 +++++++++++++++++++------------------
|
||||
5 files changed, 61 insertions(+), 64 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 012c37fdb688..79b2a8d29d8c 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -153,8 +153,6 @@ enum hrtimer_base_type {
|
||||
@@ -44,9 +48,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#ifdef CONFIG_HIGH_RES_TIMERS
|
||||
unsigned int in_hrtirq : 1,
|
||||
hres_active : 1,
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index d00e85ac10d6..883fef2926e9 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -178,23 +178,16 @@ hrtimer_check_target(struct hrtimer *tim
|
||||
@@ -178,23 +178,16 @@ hrtimer_check_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base)
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -74,7 +80,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/*
|
||||
* We switch the timer base to a power-optimized selected CPU target,
|
||||
@@ -973,7 +966,7 @@ void hrtimer_start_range_ns(struct hrtim
|
||||
@@ -973,7 +966,7 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
* Kick to reschedule the next tick to handle the new timer
|
||||
* on dynticks target.
|
||||
*/
|
||||
@@ -83,9 +89,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
wake_up_nohz_cpu(new_base->cpu_base->cpu);
|
||||
} else {
|
||||
hrtimer_reprogram(timer, new_base);
|
||||
diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
|
||||
index f8e1845aa464..4ac74dff59f0 100644
|
||||
--- a/kernel/time/tick-internal.h
|
||||
+++ b/kernel/time/tick-internal.h
|
||||
@@ -150,14 +150,19 @@ static inline void tick_nohz_init(void)
|
||||
@@ -150,14 +150,19 @@ static inline void tick_nohz_init(void) { }
|
||||
|
||||
#ifdef CONFIG_NO_HZ_COMMON
|
||||
extern unsigned long tick_nohz_active;
|
||||
@@ -112,9 +120,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#endif
|
||||
|
||||
DECLARE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases);
|
||||
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
|
||||
index bb2af74e6b62..9a372e16791c 100644
|
||||
--- a/kernel/time/tick-sched.c
|
||||
+++ b/kernel/time/tick-sched.c
|
||||
@@ -1131,7 +1131,7 @@ static inline void tick_nohz_activate(st
|
||||
@@ -1132,7 +1132,7 @@ static inline void tick_nohz_activate(struct tick_sched *ts, int mode)
|
||||
ts->nohz_mode = mode;
|
||||
/* One update is enough */
|
||||
if (!test_and_set_bit(0, &tick_nohz_active))
|
||||
@@ -123,6 +133,8 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
|
||||
index 9fe525f410bf..b24232985960 100644
|
||||
--- a/kernel/time/timer.c
|
||||
+++ b/kernel/time/timer.c
|
||||
@@ -200,8 +200,6 @@ struct timer_base {
|
||||
@@ -215,7 +227,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
static unsigned long round_jiffies_common(unsigned long j, int cpu,
|
||||
bool force_up)
|
||||
@@ -534,7 +546,7 @@ static void
|
||||
@@ -534,7 +546,7 @@ __internal_add_timer(struct timer_base *base, struct timer_list *timer)
|
||||
static void
|
||||
trigger_dyntick_cpu(struct timer_base *base, struct timer_list *timer)
|
||||
{
|
||||
@@ -224,7 +236,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return;
|
||||
|
||||
/*
|
||||
@@ -840,21 +852,20 @@ static inline struct timer_base *get_tim
|
||||
@@ -840,21 +852,20 @@ static inline struct timer_base *get_timer_base(u32 tflags)
|
||||
return get_timer_cpu_base(tflags, tflags & TIMER_CPUMASK);
|
||||
}
|
||||
|
||||
@@ -252,7 +264,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
unsigned long jnow;
|
||||
|
||||
/*
|
||||
@@ -878,16 +889,8 @@ static inline void forward_timer_base(st
|
||||
@@ -878,16 +889,8 @@ static inline void forward_timer_base(struct timer_base *base)
|
||||
base->clk = jnow;
|
||||
else
|
||||
base->clk = base->next_expiry;
|
||||
@@ -270,3 +282,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
|
||||
/*
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 437a57e7664994a510190bfaff01026cd7e75422 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:51 +0100
|
||||
Subject: [PATCH 02/29] hrtimer: Correct blantanly wrong comment
|
||||
Subject: [PATCH 020/418] hrtimer: Correct blantanly wrong comment
|
||||
|
||||
The protection of a hrtimer which runs its callback against migration to a
|
||||
different CPU has nothing to do with hard interrupt context.
|
||||
@@ -16,12 +17,14 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 6 +++---
|
||||
kernel/time/hrtimer.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 883fef2926e9..65543d31af32 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -1204,9 +1204,9 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1204,9 +1204,9 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
timer->is_rel = false;
|
||||
|
||||
/*
|
||||
@@ -34,3 +37,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
raw_spin_unlock(&cpu_base->lock);
|
||||
trace_hrtimer_expire_entry(timer, now);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From b9a845a61b4f2fd293791e8a6f3b3031ba03308d Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:52 +0100
|
||||
Subject: [PATCH 03/29] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base
|
||||
Subject: [PATCH 021/418] hrtimer: Fix kerneldoc for struct hrtimer_cpu_base
|
||||
|
||||
The sequence '/**' marks the start of a struct description. Add the
|
||||
missing second asterisk. While at it adapt the ordering of the struct
|
||||
@@ -10,9 +11,11 @@ expires_next more precisely.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 8 ++++----
|
||||
include/linux/hrtimer.h | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 79b2a8d29d8c..b3a382be8db0 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -144,7 +144,7 @@ enum hrtimer_base_type {
|
||||
@@ -40,3 +43,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
* @nr_events: Total number of hrtimer interrupt events
|
||||
* @nr_retries: Total number of hrtimer interrupt retries
|
||||
* @nr_hangs: Total number of hrtimer interrupt hangs
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 3f2ef191049442d38c95443f4a85062a403cb21a Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:53 +0100
|
||||
Subject: [PATCH 04/29] hrtimer: Cleanup clock argument in
|
||||
Subject: [PATCH 022/418] hrtimer: Cleanup clock argument in
|
||||
schedule_hrtimeout_range_clock()
|
||||
|
||||
schedule_hrtimeout_range_clock() uses an integer for the clock id
|
||||
@@ -18,13 +19,15 @@ No functional change.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 2 +-
|
||||
kernel/time/hrtimer.c | 12 ++++++------
|
||||
include/linux/hrtimer.h | 2 +-
|
||||
kernel/time/hrtimer.c | 12 ++++++------
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index b3a382be8db0..931ce9c89c93 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -462,7 +462,7 @@ extern int schedule_hrtimeout_range(ktim
|
||||
@@ -462,7 +462,7 @@ extern int schedule_hrtimeout_range(ktime_t *expires, u64 delta,
|
||||
extern int schedule_hrtimeout_range_clock(ktime_t *expires,
|
||||
u64 delta,
|
||||
const enum hrtimer_mode mode,
|
||||
@@ -33,6 +36,8 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
extern int schedule_hrtimeout(ktime_t *expires, const enum hrtimer_mode mode);
|
||||
|
||||
/* Soft interrupt function to run the hrtimer queues: */
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 65543d31af32..790841b59433 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -1672,12 +1672,12 @@ void __init hrtimers_init(void)
|
||||
@@ -51,7 +56,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
{
|
||||
struct hrtimer_sleeper t;
|
||||
|
||||
@@ -1698,7 +1698,7 @@ schedule_hrtimeout_range_clock(ktime_t *
|
||||
@@ -1698,7 +1698,7 @@ schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta,
|
||||
return -EINTR;
|
||||
}
|
||||
|
||||
@@ -60,7 +65,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
hrtimer_set_expires_range_ns(&t.timer, *expires, delta);
|
||||
|
||||
hrtimer_init_sleeper(&t, current);
|
||||
@@ -1720,7 +1720,7 @@ schedule_hrtimeout_range_clock(ktime_t *
|
||||
@@ -1720,7 +1720,7 @@ schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta,
|
||||
* schedule_hrtimeout_range - sleep until timeout
|
||||
* @expires: timeout value (ktime_t)
|
||||
* @delta: slack in expires timeout (ktime_t)
|
||||
@@ -69,7 +74,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*
|
||||
* Make the current task sleep until the given expiry time has
|
||||
* elapsed. The routine will return immediately unless
|
||||
@@ -1759,7 +1759,7 @@ EXPORT_SYMBOL_GPL(schedule_hrtimeout_ran
|
||||
@@ -1759,7 +1759,7 @@ EXPORT_SYMBOL_GPL(schedule_hrtimeout_range);
|
||||
/**
|
||||
* schedule_hrtimeout - sleep until timeout
|
||||
* @expires: timeout value (ktime_t)
|
||||
@@ -78,3 +83,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*
|
||||
* Make the current task sleep until the given expiry time has
|
||||
* elapsed. The routine will return immediately unless
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 7bceac6c2181a2ce1ba209d1fc6afb626dbab4c7 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:54 +0100
|
||||
Subject: [PATCH 05/29] hrtimer: Fix hrtimer function description
|
||||
Subject: [PATCH 023/418] hrtimer: Fix hrtimer function description
|
||||
|
||||
The hrtimer_start[_range_ns]() starts a timer reliable on this CPU only
|
||||
when HRTIMER_MODE_PINNED is set. Furthermore the HRTIMER_MODE_PINNED mode
|
||||
@@ -9,13 +10,15 @@ is not considered, when a hrtimer is initialized.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 6 +++---
|
||||
kernel/time/hrtimer.c | 9 +++++----
|
||||
include/linux/hrtimer.h | 6 +++---
|
||||
kernel/time/hrtimer.c | 9 +++++----
|
||||
2 files changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 931ce9c89c93..4e6a8841dcbe 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -361,11 +361,11 @@ extern void hrtimer_start_range_ns(struc
|
||||
@@ -361,11 +361,11 @@ extern void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
u64 range_ns, const enum hrtimer_mode mode);
|
||||
|
||||
/**
|
||||
@@ -30,9 +33,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
static inline void hrtimer_start(struct hrtimer *timer, ktime_t tim,
|
||||
const enum hrtimer_mode mode)
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 790841b59433..6460aa2d9b25 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -928,12 +928,12 @@ static inline ktime_t hrtimer_update_low
|
||||
@@ -928,12 +928,12 @@ static inline ktime_t hrtimer_update_lowres(struct hrtimer *timer, ktime_t tim,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,7 +53,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
u64 delta_ns, const enum hrtimer_mode mode)
|
||||
@@ -1116,7 +1116,8 @@ static void __hrtimer_init(struct hrtime
|
||||
@@ -1116,7 +1116,8 @@ static void __hrtimer_init(struct hrtimer *timer, clockid_t clock_id,
|
||||
* hrtimer_init - initialize a timer to the given clock
|
||||
* @timer: the timer to be initialized
|
||||
* @clock_id: the clock to be used
|
||||
@@ -58,3 +63,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
void hrtimer_init(struct hrtimer *timer, clockid_t clock_id,
|
||||
enum hrtimer_mode mode)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:57 +0100
|
||||
Subject: [PATCH 08/29] tracing/hrtimer: Take all clock bases and modes into
|
||||
account
|
||||
|
||||
So far only CLOCK_MONOTONIC and CLOCK_REALTIME were taken into account as
|
||||
well as HRTIMER_MODE_ABS/REL in hrtimer_init tracepoint. The query for
|
||||
detecting timer mode ABS or REL is not valid, since the introduction of
|
||||
HRTIMER_MODE_PINNED.
|
||||
|
||||
HRTIMER_MODE_PINNED is not evaluated in hrtimer_init() call. But for the
|
||||
sake of completeness print all given modes.
|
||||
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/trace/events/timer.h | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/include/trace/events/timer.h
|
||||
+++ b/include/trace/events/timer.h
|
||||
@@ -136,6 +136,20 @@ DEFINE_EVENT(timer_class, timer_cancel,
|
||||
TP_ARGS(timer)
|
||||
);
|
||||
|
||||
+#define decode_clockid(type) \
|
||||
+ __print_symbolic(type, \
|
||||
+ { CLOCK_REALTIME, "CLOCK_REALTIME" }, \
|
||||
+ { CLOCK_MONOTONIC, "CLOCK_MONOTONIC" }, \
|
||||
+ { CLOCK_BOOTTIME, "CLOCK_BOOTTIME" }, \
|
||||
+ { CLOCK_TAI, "CLOCK_TAI" })
|
||||
+
|
||||
+#define decode_hrtimer_mode(mode) \
|
||||
+ __print_symbolic(mode, \
|
||||
+ { HRTIMER_MODE_ABS, "ABS" }, \
|
||||
+ { HRTIMER_MODE_REL, "REL" }, \
|
||||
+ { HRTIMER_MODE_ABS_PINNED, "ABS|PINNED" }, \
|
||||
+ { HRTIMER_MODE_REL_PINNED, "REL|PINNED" })
|
||||
+
|
||||
/**
|
||||
* hrtimer_init - called when the hrtimer is initialized
|
||||
* @hrtimer: pointer to struct hrtimer
|
||||
@@ -162,10 +176,8 @@ TRACE_EVENT(hrtimer_init,
|
||||
),
|
||||
|
||||
TP_printk("hrtimer=%p clockid=%s mode=%s", __entry->hrtimer,
|
||||
- __entry->clockid == CLOCK_REALTIME ?
|
||||
- "CLOCK_REALTIME" : "CLOCK_MONOTONIC",
|
||||
- __entry->mode == HRTIMER_MODE_ABS ?
|
||||
- "HRTIMER_MODE_ABS" : "HRTIMER_MODE_REL")
|
||||
+ decode_clockid(__entry->clockid),
|
||||
+ decode_hrtimer_mode(__entry->mode))
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -1,6 +1,7 @@
|
||||
From 79c700b613fe56d7318ab41bc9184cd8572006ec Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:56 +0100
|
||||
Subject: [PATCH 07/29] hrtimer: Cleanup hrtimer_mode enum
|
||||
Subject: [PATCH 024/418] hrtimer: Cleanup hrtimer_mode enum
|
||||
|
||||
It's not obvious that the HRTIMER_MODE variants are bit combinations
|
||||
because all modes are hard coded constants.
|
||||
@@ -13,9 +14,11 @@ While at it get rid of the ugly tail comments.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 16 +++++++++++-----
|
||||
include/linux/hrtimer.h | 16 +++++++++++-----
|
||||
1 file changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 4e6a8841dcbe..28f267cf2851 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -28,13 +28,19 @@ struct hrtimer_cpu_base;
|
||||
@@ -43,3 +46,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
};
|
||||
|
||||
/*
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 734fc4622933368429263530e951f67c458070eb Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:58 +0100
|
||||
Subject: [PATCH 09/29] tracing/hrtimer: Print hrtimer mode in hrtimer_start
|
||||
Subject: [PATCH 025/418] tracing/hrtimer: Print hrtimer mode in hrtimer_start
|
||||
tracepoint
|
||||
|
||||
The hrtimer_start tracepoint lacks the mode information. The mode is
|
||||
@@ -12,10 +13,12 @@ Add the mode information.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/trace/events/timer.h | 13 ++++++++-----
|
||||
kernel/time/hrtimer.c | 16 +++++++++-------
|
||||
include/trace/events/timer.h | 13 ++++++++-----
|
||||
kernel/time/hrtimer.c | 16 +++++++++-------
|
||||
2 files changed, 17 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/include/trace/events/timer.h b/include/trace/events/timer.h
|
||||
index c6f728037c53..744b4310b24b 100644
|
||||
--- a/include/trace/events/timer.h
|
||||
+++ b/include/trace/events/timer.h
|
||||
@@ -186,15 +186,16 @@ TRACE_EVENT(hrtimer_init,
|
||||
@@ -55,9 +58,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
);
|
||||
|
||||
/**
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 6460aa2d9b25..476fe683e8ed 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -435,10 +435,11 @@ debug_init(struct hrtimer *timer, clocki
|
||||
@@ -435,10 +435,11 @@ debug_init(struct hrtimer *timer, clockid_t clockid,
|
||||
trace_hrtimer_init(timer, clockid, mode);
|
||||
}
|
||||
|
||||
@@ -84,7 +89,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
base->cpu_base->active_bases |= 1 << base->index;
|
||||
|
||||
@@ -957,7 +959,7 @@ void hrtimer_start_range_ns(struct hrtim
|
||||
@@ -957,7 +959,7 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
/* Switch the timer base, if necessary: */
|
||||
new_base = switch_hrtimer_base(timer, base, mode & HRTIMER_MODE_PINNED);
|
||||
|
||||
@@ -93,7 +98,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
if (!leftmost)
|
||||
goto unlock;
|
||||
|
||||
@@ -1226,7 +1228,7 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1226,7 +1228,7 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
*/
|
||||
if (restart != HRTIMER_NORESTART &&
|
||||
!(timer->state & HRTIMER_STATE_ENQUEUED))
|
||||
@@ -102,7 +107,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/*
|
||||
* Separate the ->running assignment from the ->state assignment.
|
||||
@@ -1626,7 +1628,7 @@ static void migrate_hrtimer_list(struct
|
||||
@@ -1626,7 +1628,7 @@ static void migrate_hrtimer_list(struct hrtimer_clock_base *old_base,
|
||||
* sort out already expired timers and reprogram the
|
||||
* event device.
|
||||
*/
|
||||
@@ -111,3 +116,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 551c25858df0438915d8addafa70afbb12779d35 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:12:59 +0100
|
||||
Subject: [PATCH 10/29] hrtimer: Switch for loop to _ffs() evaluation
|
||||
Subject: [PATCH 026/418] hrtimer: Switch for loop to _ffs() evaluation
|
||||
|
||||
Looping over all clock bases to find active bits is suboptimal if not all
|
||||
bases are active.
|
||||
@@ -13,12 +14,14 @@ Suggested-by: Peter Zijlstra <peterz@infradead.org>
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 31 +++++++++++++++++++++----------
|
||||
kernel/time/hrtimer.c | 31 +++++++++++++++++++++----------
|
||||
1 file changed, 21 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 476fe683e8ed..85f9335d0d60 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -448,6 +448,23 @@ static inline void debug_deactivate(stru
|
||||
@@ -448,6 +448,23 @@ static inline void debug_deactivate(struct hrtimer *timer)
|
||||
trace_hrtimer_cancel(timer);
|
||||
}
|
||||
|
||||
@@ -42,7 +45,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#if defined(CONFIG_NO_HZ_COMMON) || defined(CONFIG_HIGH_RES_TIMERS)
|
||||
static inline void hrtimer_update_next_timer(struct hrtimer_cpu_base *cpu_base,
|
||||
struct hrtimer *timer)
|
||||
@@ -459,18 +476,15 @@ static inline void hrtimer_update_next_t
|
||||
@@ -459,18 +476,15 @@ static inline void hrtimer_update_next_timer(struct hrtimer_cpu_base *cpu_base,
|
||||
|
||||
static ktime_t __hrtimer_get_next_event(struct hrtimer_cpu_base *cpu_base)
|
||||
{
|
||||
@@ -63,7 +66,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
next = timerqueue_getnext(&base->active);
|
||||
timer = container_of(next, struct hrtimer, node);
|
||||
expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
|
||||
@@ -1245,16 +1259,13 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1245,16 +1259,13 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
|
||||
static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now)
|
||||
{
|
||||
@@ -82,3 +85,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
basenow = ktime_add(now, base->offset);
|
||||
|
||||
while ((node = timerqueue_getnext(&base->active))) {
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 1ca83795806184362986a22e2a4dd0d5ac30eddd Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:00 +0100
|
||||
Subject: [PATCH 11/29] hrtimer: Store running timer in hrtimer_clock_base
|
||||
Subject: [PATCH 027/418] hrtimer: Store running timer in hrtimer_clock_base
|
||||
|
||||
The pointer to the currently running timer is stored in hrtimer_cpu_base
|
||||
before the base lock is dropped and the callback is invoked.
|
||||
@@ -28,10 +29,12 @@ clocks.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 20 +++++++++-----------
|
||||
kernel/time/hrtimer.c | 28 +++++++++++++---------------
|
||||
include/linux/hrtimer.h | 20 +++++++++-----------
|
||||
kernel/time/hrtimer.c | 28 +++++++++++++---------------
|
||||
2 files changed, 22 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 28f267cf2851..1bae7b9f071d 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -118,9 +118,9 @@ struct hrtimer_sleeper {
|
||||
@@ -98,7 +101,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
timer->node.expires = time;
|
||||
timer->_softexpires = time;
|
||||
}
|
||||
@@ -424,7 +422,7 @@ static inline int hrtimer_is_queued(stru
|
||||
@@ -424,7 +422,7 @@ static inline int hrtimer_is_queued(struct hrtimer *timer)
|
||||
*/
|
||||
static inline int hrtimer_callback_running(struct hrtimer *timer)
|
||||
{
|
||||
@@ -107,6 +110,8 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/* Forward a hrtimer so it expires after now: */
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 85f9335d0d60..bedfc2865901 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -70,7 +70,6 @@
|
||||
@@ -117,7 +122,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
.clock_base =
|
||||
{
|
||||
{
|
||||
@@ -118,7 +117,6 @@ static const int hrtimer_clock_to_base_t
|
||||
@@ -118,7 +117,6 @@ static const int hrtimer_clock_to_base_table[MAX_CLOCKS] = {
|
||||
* timer->base->cpu_base
|
||||
*/
|
||||
static struct hrtimer_cpu_base migration_cpu_base = {
|
||||
@@ -151,7 +156,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -1198,16 +1196,16 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1198,16 +1196,16 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
lockdep_assert_held(&cpu_base->lock);
|
||||
|
||||
debug_deactivate(timer);
|
||||
@@ -171,7 +176,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
__remove_hrtimer(timer, base, HRTIMER_STATE_INACTIVE, 0);
|
||||
fn = timer->function;
|
||||
@@ -1248,13 +1246,13 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1248,13 +1246,13 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
* Separate the ->running assignment from the ->state assignment.
|
||||
*
|
||||
* As with a regular write barrier, this ensures the read side in
|
||||
@@ -189,3 +194,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From bbc2c2e88a6682df03351e2a3c19593de4c08d3e Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:01 +0100
|
||||
Subject: [PATCH 12/29] hrtimer: Make room in struct hrtimer_cpu_base
|
||||
Subject: [PATCH 028/418] hrtimer: Make room in struct hrtimer_cpu_base
|
||||
|
||||
The upcoming softirq based hrtimers support requires an additional field in
|
||||
the hrtimer_cpu_base struct, which would grow the struct size beyond a
|
||||
@@ -15,9 +16,11 @@ functional change.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 4 ++--
|
||||
include/linux/hrtimer.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 1bae7b9f071d..56e56bcb6f0f 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -189,8 +189,8 @@ struct hrtimer_cpu_base {
|
||||
@@ -31,3 +34,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
unsigned int max_hang_time;
|
||||
#endif
|
||||
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 036160e2bf23c43f7a7eb4482cd372c2c5983389 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:02 +0100
|
||||
Subject: [PATCH 13/29] hrtimer: Reduce conditional code (hres_active)
|
||||
Subject: [PATCH 029/418] hrtimer: Reduce conditional code (hres_active)
|
||||
|
||||
The hrtimer_cpu_base struct has the CONFIG_HIGH_RES_TIMERS conditional
|
||||
struct member hres_active. All related functions to this member are
|
||||
@@ -17,10 +18,12 @@ Suggested-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 20 ++++++++------------
|
||||
kernel/time/hrtimer.c | 31 +++++++++++++++----------------
|
||||
include/linux/hrtimer.h | 20 ++++++++------------
|
||||
kernel/time/hrtimer.c | 31 +++++++++++++++----------------
|
||||
2 files changed, 23 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 56e56bcb6f0f..22627b3a33fe 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -161,8 +161,8 @@ enum hrtimer_base_type {
|
||||
@@ -44,7 +47,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
hang_detected : 1;
|
||||
ktime_t expires_next;
|
||||
struct hrtimer *next_timer;
|
||||
@@ -266,16 +266,17 @@ static inline ktime_t hrtimer_cb_get_tim
|
||||
@@ -266,16 +266,17 @@ static inline ktime_t hrtimer_cb_get_time(struct hrtimer *timer)
|
||||
return timer->base->get_time();
|
||||
}
|
||||
|
||||
@@ -79,9 +82,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static inline void clock_was_set_delayed(void) { }
|
||||
|
||||
#endif
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index bedfc2865901..7e0490143275 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -512,6 +512,20 @@ static inline ktime_t hrtimer_update_bas
|
||||
@@ -512,6 +512,20 @@ static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base)
|
||||
offs_real, offs_boot, offs_tai);
|
||||
}
|
||||
|
||||
@@ -102,10 +107,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/* High resolution timer related functions */
|
||||
#ifdef CONFIG_HIGH_RES_TIMERS
|
||||
|
||||
@@ -541,19 +555,6 @@ static inline int hrtimer_is_hres_enable
|
||||
@@ -540,19 +554,6 @@ static inline int hrtimer_is_hres_enabled(void)
|
||||
return hrtimer_hres_enabled;
|
||||
}
|
||||
|
||||
/*
|
||||
-/*
|
||||
- * Is the high resolution mode active ?
|
||||
- */
|
||||
-static inline int __hrtimer_hres_active(struct hrtimer_cpu_base *cpu_base)
|
||||
@@ -118,11 +124,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
- return __hrtimer_hres_active(this_cpu_ptr(&hrtimer_bases));
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
/*
|
||||
* Reprogram the event source with checking both queues for the
|
||||
* next event
|
||||
* Called with interrupts disabled and base->lock held
|
||||
@@ -662,7 +663,6 @@ static inline void hrtimer_init_hres(str
|
||||
@@ -662,7 +663,6 @@ static inline void hrtimer_init_hres(struct hrtimer_cpu_base *base)
|
||||
{
|
||||
base->expires_next = KTIME_MAX;
|
||||
base->hang_detected = 0;
|
||||
@@ -139,7 +144,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static inline int hrtimer_is_hres_enabled(void) { return 0; }
|
||||
static inline void hrtimer_switch_to_hres(void) { }
|
||||
static inline void
|
||||
@@ -1605,6 +1603,7 @@ int hrtimers_prepare_cpu(unsigned int cp
|
||||
@@ -1605,6 +1603,7 @@ int hrtimers_prepare_cpu(unsigned int cpu)
|
||||
|
||||
cpu_base->active_bases = 0;
|
||||
cpu_base->cpu = cpu;
|
||||
@@ -147,3 +152,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
hrtimer_init_hres(cpu_base);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
From 5f845b534ffc9f5a653f45bddf0dc4e99dd6a510 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:03 +0100
|
||||
Subject: [PATCH 14/29] hrtimer: Use accesor functions instead of direct access
|
||||
Subject: [PATCH 030/418] hrtimer: Use accesor functions instead of direct
|
||||
access
|
||||
|
||||
__hrtimer_hres_active() is now available unconditionally. Replace the
|
||||
direct access to hrtimer_cpu_base.hres_active.
|
||||
@@ -10,12 +12,14 @@ No functional change.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 4 ++--
|
||||
kernel/time/hrtimer.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 7e0490143275..85882d5da523 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -564,7 +564,7 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -564,7 +564,7 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
{
|
||||
ktime_t expires_next;
|
||||
|
||||
@@ -24,7 +28,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return;
|
||||
|
||||
expires_next = __hrtimer_get_next_event(cpu_base);
|
||||
@@ -675,7 +675,7 @@ static void retrigger_next_event(void *a
|
||||
@@ -675,7 +675,7 @@ static void retrigger_next_event(void *arg)
|
||||
{
|
||||
struct hrtimer_cpu_base *base = this_cpu_ptr(&hrtimer_bases);
|
||||
|
||||
@@ -33,3 +37,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return;
|
||||
|
||||
raw_spin_lock(&base->lock);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 454c4ff0fb355b4dafad0f616d12cbdf1a6521db Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:04 +0100
|
||||
Subject: [PATCH 15/29] hrtimer: Make the remote enqueue check unconditional
|
||||
Subject: [PATCH 031/418] hrtimer: Make the remote enqueue check unconditional
|
||||
|
||||
hrtimer_cpu_base.expires_next is used to cache the next event armed in the
|
||||
timer hardware. The value is used to check whether an hrtimer can be
|
||||
@@ -23,10 +24,12 @@ which further reduce the #ifdef zoo in this code.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 6 +++---
|
||||
kernel/time/hrtimer.c | 32 +++++++++-----------------------
|
||||
include/linux/hrtimer.h | 6 +++---
|
||||
kernel/time/hrtimer.c | 32 +++++++++-----------------------
|
||||
2 files changed, 12 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 22627b3a33fe..bb7270e8bc37 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -164,13 +164,13 @@ enum hrtimer_base_type {
|
||||
@@ -60,9 +63,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
|
||||
} ____cacheline_aligned;
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 85882d5da523..b1016aabc73a 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -154,26 +154,21 @@ struct hrtimer_clock_base *lock_hrtimer_
|
||||
@@ -154,26 +154,21 @@ struct hrtimer_clock_base *lock_hrtimer_base(const struct hrtimer *timer,
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -94,10 +99,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
static inline
|
||||
@@ -657,16 +652,6 @@ static void hrtimer_reprogram(struct hrt
|
||||
@@ -656,16 +651,6 @@ static void hrtimer_reprogram(struct hrtimer *timer,
|
||||
tick_program_event(expires, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
-/*
|
||||
- * Initialize the high resolution related parts of cpu_base
|
||||
- */
|
||||
-static inline void hrtimer_init_hres(struct hrtimer_cpu_base *base)
|
||||
@@ -107,11 +113,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
- base->next_timer = NULL;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
/*
|
||||
* Retrigger next event is called after clock was set
|
||||
*
|
||||
* Called with interrupts disabled via on_each_cpu()
|
||||
@@ -731,7 +716,6 @@ static inline int hrtimer_reprogram(stru
|
||||
@@ -731,7 +716,6 @@ static inline int hrtimer_reprogram(struct hrtimer *timer,
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -119,7 +124,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static inline void retrigger_next_event(void *arg) { }
|
||||
|
||||
#endif /* CONFIG_HIGH_RES_TIMERS */
|
||||
@@ -1601,10 +1585,12 @@ int hrtimers_prepare_cpu(unsigned int cp
|
||||
@@ -1601,10 +1585,12 @@ int hrtimers_prepare_cpu(unsigned int cpu)
|
||||
timerqueue_init_head(&cpu_base->clock_base[i].active);
|
||||
}
|
||||
|
||||
@@ -134,3 +139,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 0f5e672a02807d10c8772c839d358cb498ec6d9f Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:05 +0100
|
||||
Subject: [PATCH 16/29] hrtimer: Make hrtimer_cpu_base.next_timer handling
|
||||
Subject: [PATCH 032/418] hrtimer: Make hrtimer_cpu_base.next_timer handling
|
||||
unconditional
|
||||
|
||||
hrtimer_cpu_base.next_timer stores the pointer to the next expiring timer
|
||||
@@ -25,10 +26,12 @@ No functional change.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 4 ++--
|
||||
kernel/time/hrtimer.c | 12 ++----------
|
||||
include/linux/hrtimer.h | 4 ++--
|
||||
kernel/time/hrtimer.c | 12 ++----------
|
||||
2 files changed, 4 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index bb7270e8bc37..2d3e1d678a4d 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -164,13 +164,13 @@ enum hrtimer_base_type {
|
||||
@@ -61,9 +64,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
|
||||
} ____cacheline_aligned;
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index b1016aabc73a..e01c2e78c032 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -459,21 +459,13 @@ static struct hrtimer_clock_base *
|
||||
@@ -459,21 +459,13 @@ __next_base(struct hrtimer_cpu_base *cpu_base, unsigned int *active)
|
||||
while ((base = __next_base((cpu_base), &(active))))
|
||||
|
||||
#if defined(CONFIG_NO_HZ_COMMON) || defined(CONFIG_HIGH_RES_TIMERS)
|
||||
@@ -86,7 +91,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
for_each_active_base(base, cpu_base, active) {
|
||||
struct timerqueue_node *next;
|
||||
struct hrtimer *timer;
|
||||
@@ -483,7 +475,7 @@ static ktime_t __hrtimer_get_next_event(
|
||||
@@ -483,7 +475,7 @@ static ktime_t __hrtimer_get_next_event(struct hrtimer_cpu_base *cpu_base)
|
||||
expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
|
||||
if (expires < expires_next) {
|
||||
expires_next = expires;
|
||||
@@ -95,3 +100,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
}
|
||||
/*
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 528276dfeb134c7e8f46afdced23ebb1c7da0c8b Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:06 +0100
|
||||
Subject: [PATCH 17/29] hrtimer: Make hrtimer_reprogramm() unconditional
|
||||
Subject: [PATCH 033/418] hrtimer: Make hrtimer_reprogramm() unconditional
|
||||
|
||||
hrtimer_reprogram() needs to be available unconditionally for softirq based
|
||||
hrtimers. Move the function and all required struct members out of the
|
||||
@@ -14,10 +15,12 @@ replication of that code for the upcoming softirq based hrtimers support.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 6 +-
|
||||
kernel/time/hrtimer.c | 129 +++++++++++++++++++++++-------------------------
|
||||
include/linux/hrtimer.h | 6 +-
|
||||
kernel/time/hrtimer.c | 129 +++++++++++++++++++---------------------
|
||||
2 files changed, 65 insertions(+), 70 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 2d3e1d678a4d..98ed35767ac5 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -182,10 +182,10 @@ struct hrtimer_cpu_base {
|
||||
@@ -34,12 +37,15 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
unsigned int nr_events;
|
||||
unsigned short nr_retries;
|
||||
unsigned short nr_hangs;
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index e01c2e78c032..37085a13f19a 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -582,68 +582,6 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -581,68 +581,6 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
tick_program_event(cpu_base->expires_next, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
-/*
|
||||
- * When a timer is enqueued and expires earlier than the already enqueued
|
||||
- * timers, we have to check, whether it expires earlier than the timer for
|
||||
- * which the clock event device was armed.
|
||||
@@ -101,11 +107,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
- tick_program_event(expires, 1);
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
/*
|
||||
* Retrigger next event is called after clock was set
|
||||
*
|
||||
* Called with interrupts disabled via on_each_cpu()
|
||||
@@ -703,16 +641,73 @@ static inline int hrtimer_is_hres_enable
|
||||
@@ -703,15 +641,72 @@ static inline int hrtimer_is_hres_enabled(void) { return 0; }
|
||||
static inline void hrtimer_switch_to_hres(void) { }
|
||||
static inline void
|
||||
hrtimer_force_reprogram(struct hrtimer_cpu_base *base, int skip_equal) { }
|
||||
@@ -118,7 +123,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
#endif /* CONFIG_HIGH_RES_TIMERS */
|
||||
|
||||
/*
|
||||
+/*
|
||||
+ * When a timer is enqueued and expires earlier than the already enqueued
|
||||
+ * timers, we have to check, whether it expires earlier than the timer for
|
||||
+ * which the clock event device was armed.
|
||||
@@ -180,7 +185,9 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
+ tick_program_event(expires, 1);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
/*
|
||||
* Clock realtime was set
|
||||
*
|
||||
* Change the offset of the realtime clock vs. the monotonic
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 679e677ed43106bfa23fcd7fa318acf826e27113 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:07 +0100
|
||||
Subject: [PATCH 18/29] hrtimer: Make hrtimer_force_reprogramm()
|
||||
Subject: [PATCH 034/418] hrtimer: Make hrtimer_force_reprogramm()
|
||||
unconditionally available
|
||||
|
||||
hrtimer_force_reprogram() needs to be available unconditionally for softirq
|
||||
@@ -19,12 +20,14 @@ eliminated in the CONFIG_HIGH_RES_TIMERS=n case by the compiler.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 58 ++++++++++++++++++++++++--------------------------
|
||||
kernel/time/hrtimer.c | 58 +++++++++++++++++++++----------------------
|
||||
1 file changed, 28 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 37085a13f19a..5fd669dd46be 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -513,34 +513,6 @@ static inline int hrtimer_hres_active(vo
|
||||
@@ -513,34 +513,6 @@ static inline int hrtimer_hres_active(void)
|
||||
return __hrtimer_hres_active(this_cpu_ptr(&hrtimer_bases));
|
||||
}
|
||||
|
||||
@@ -59,7 +62,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/*
|
||||
* Reprogram the event source with checking both queues for the
|
||||
* next event
|
||||
@@ -581,6 +553,34 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -581,6 +553,34 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
tick_program_event(cpu_base->expires_next, 1);
|
||||
}
|
||||
|
||||
@@ -103,3 +106,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static inline void retrigger_next_event(void *arg) { }
|
||||
|
||||
#endif /* CONFIG_HIGH_RES_TIMERS */
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 748812cb4f5a3b85cb2ba72c6edb68e390137b84 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:08 +0100
|
||||
Subject: [PATCH 19/29] hrtimer: Unify handling of hrtimer remove
|
||||
Subject: [PATCH 035/418] hrtimer: Unify handling of hrtimer remove
|
||||
|
||||
When the first hrtimer on the current CPU is removed,
|
||||
hrtimer_force_reprogram() is invoked but only when
|
||||
@@ -36,12 +37,14 @@ compiler in the CONFIG_HIGH_RES_TIMERS=n case.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 10 ++++------
|
||||
kernel/time/hrtimer.c | 10 ++++------
|
||||
1 file changed, 4 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 5fd669dd46be..ce9a3ef7a796 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -523,9 +523,6 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -523,9 +523,6 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
{
|
||||
ktime_t expires_next;
|
||||
|
||||
@@ -51,7 +54,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
expires_next = __hrtimer_get_next_event(cpu_base);
|
||||
|
||||
if (skip_equal && expires_next == cpu_base->expires_next)
|
||||
@@ -534,6 +531,9 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -534,6 +531,9 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
cpu_base->expires_next = expires_next;
|
||||
|
||||
/*
|
||||
@@ -61,7 +64,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
* If a hang was detected in the last timer interrupt then we
|
||||
* leave the hang delay active in the hardware. We want the
|
||||
* system to make progress. That also prevents the following
|
||||
@@ -547,7 +547,7 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -547,7 +547,7 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
* set. So we'd effectivly block all timers until the T2 event
|
||||
* fires.
|
||||
*/
|
||||
@@ -70,7 +73,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return;
|
||||
|
||||
tick_program_event(cpu_base->expires_next, 1);
|
||||
@@ -848,7 +848,6 @@ static void __remove_hrtimer(struct hrti
|
||||
@@ -848,7 +848,6 @@ static void __remove_hrtimer(struct hrtimer *timer,
|
||||
if (!timerqueue_del(&base->active, &timer->node))
|
||||
cpu_base->active_bases &= ~(1 << base->index);
|
||||
|
||||
@@ -78,7 +81,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/*
|
||||
* Note: If reprogram is false we do not update
|
||||
* cpu_base->next_timer. This happens when we remove the first
|
||||
@@ -859,7 +858,6 @@ static void __remove_hrtimer(struct hrti
|
||||
@@ -859,7 +858,6 @@ static void __remove_hrtimer(struct hrtimer *timer,
|
||||
*/
|
||||
if (reprogram && timer == cpu_base->next_timer)
|
||||
hrtimer_force_reprogram(cpu_base, 1);
|
||||
@@ -86,3 +89,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From bf1446f64f73dad06295e748afb019d24f7cb3ef Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:09 +0100
|
||||
Subject: [PATCH 20/29] hrtimer: Unify handling of remote enqueue
|
||||
Subject: [PATCH 036/418] hrtimer: Unify handling of remote enqueue
|
||||
|
||||
hrtimer_reprogram() is conditionally invoked from hrtimer_start_range_ns()
|
||||
when hrtimer_cpu_base.hres_active is true.
|
||||
@@ -48,14 +49,16 @@ now.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 18 ++++++------------
|
||||
kernel/time/tick-internal.h | 6 ------
|
||||
kernel/time/timer.c | 9 ++++++++-
|
||||
kernel/time/hrtimer.c | 18 ++++++------------
|
||||
kernel/time/tick-internal.h | 6 ------
|
||||
kernel/time/timer.c | 9 ++++++++-
|
||||
3 files changed, 14 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index ce9a3ef7a796..35d7d0c8c3d6 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -687,21 +687,24 @@ static void hrtimer_reprogram(struct hrt
|
||||
@@ -687,21 +687,24 @@ static void hrtimer_reprogram(struct hrtimer *timer,
|
||||
|
||||
/* Update the pointer to the next expiring timer */
|
||||
cpu_base->next_timer = timer;
|
||||
@@ -82,7 +85,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
tick_program_event(expires, 1);
|
||||
}
|
||||
|
||||
@@ -940,16 +943,7 @@ void hrtimer_start_range_ns(struct hrtim
|
||||
@@ -940,16 +943,7 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
if (!leftmost)
|
||||
goto unlock;
|
||||
|
||||
@@ -100,9 +103,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
unlock:
|
||||
unlock_hrtimer_base(timer, &flags);
|
||||
}
|
||||
diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
|
||||
index 4ac74dff59f0..e277284c2831 100644
|
||||
--- a/kernel/time/tick-internal.h
|
||||
+++ b/kernel/time/tick-internal.h
|
||||
@@ -151,18 +151,12 @@ static inline void tick_nohz_init(void)
|
||||
@@ -151,18 +151,12 @@ static inline void tick_nohz_init(void) { }
|
||||
#ifdef CONFIG_NO_HZ_COMMON
|
||||
extern unsigned long tick_nohz_active;
|
||||
extern void timers_update_nohz(void);
|
||||
@@ -121,9 +126,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#endif
|
||||
|
||||
DECLARE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases);
|
||||
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
|
||||
index b24232985960..34415f2b3f04 100644
|
||||
--- a/kernel/time/timer.c
|
||||
+++ b/kernel/time/timer.c
|
||||
@@ -210,7 +210,7 @@ static DEFINE_PER_CPU(struct timer_base,
|
||||
@@ -210,7 +210,7 @@ static DEFINE_PER_CPU(struct timer_base, timer_bases[NR_BASES]);
|
||||
|
||||
#ifdef CONFIG_NO_HZ_COMMON
|
||||
|
||||
@@ -132,7 +139,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static DEFINE_MUTEX(timer_keys_mutex);
|
||||
|
||||
static void timer_update_keys(struct work_struct *work);
|
||||
@@ -260,6 +260,13 @@ int timer_migration_handler(struct ctl_t
|
||||
@@ -260,6 +260,13 @@ int timer_migration_handler(struct ctl_table *table, int write,
|
||||
mutex_unlock(&timer_keys_mutex);
|
||||
return ret;
|
||||
}
|
||||
@@ -146,3 +153,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#endif /* NO_HZ_COMMON */
|
||||
|
||||
static unsigned long round_jiffies_common(unsigned long j, int cpu,
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
From fb8fd05821b83cac5e75caf3cd2e7d7f939e9df8 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:10 +0100
|
||||
Subject: [PATCH 21/29] hrtimer: Make remote enqueue decision less restrictive
|
||||
Subject: [PATCH 037/418] hrtimer: Make remote enqueue decision less
|
||||
restrictive
|
||||
|
||||
The current decision whether a timer can be queued on a remote CPU checks
|
||||
for timer->expiry <= remote_cpu_base.expires_next.
|
||||
@@ -15,12 +17,14 @@ first expiring timer on a remote CPU base.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 2 +-
|
||||
kernel/time/hrtimer.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 35d7d0c8c3d6..1b2866645c83 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -168,7 +168,7 @@ hrtimer_check_target(struct hrtimer *tim
|
||||
@@ -168,7 +168,7 @@ hrtimer_check_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base)
|
||||
ktime_t expires;
|
||||
|
||||
expires = ktime_sub(hrtimer_get_expires(timer), new_base->offset);
|
||||
@@ -29,3 +33,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
static inline
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
From 9f9520ee32930e264c6c3b96bcbff47d3e1d3535 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:11 +0100
|
||||
Subject: [PATCH 22/29] hrtimer: Remove base argument from hrtimer_reprogram()
|
||||
Subject: [PATCH 038/418] hrtimer: Remove base argument from
|
||||
hrtimer_reprogram()
|
||||
|
||||
hrtimer_reprogram() must have access to the hrtimer_clock_base of the new
|
||||
first expiring timer to access hrtimer_clock_base.offset for adjusting the
|
||||
@@ -20,12 +22,14 @@ argument from hrtimer_reprogram() and retrieve the clock base internally.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 6 +++---
|
||||
kernel/time/hrtimer.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 1b2866645c83..9030dcb3ef14 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -650,10 +650,10 @@ static inline void retrigger_next_event(
|
||||
@@ -650,10 +650,10 @@ static inline void retrigger_next_event(void *arg) { }
|
||||
*
|
||||
* Called with interrupts disabled and base->cpu_base.lock held
|
||||
*/
|
||||
@@ -38,7 +42,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
ktime_t expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
|
||||
|
||||
WARN_ON_ONCE(hrtimer_get_expires_tv64(timer) < 0);
|
||||
@@ -943,7 +943,7 @@ void hrtimer_start_range_ns(struct hrtim
|
||||
@@ -943,7 +943,7 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
if (!leftmost)
|
||||
goto unlock;
|
||||
|
||||
@@ -47,3 +51,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
unlock:
|
||||
unlock_hrtimer_base(timer, &flags);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 2902f951d983fd0c1ba2c263f8cefaaf9920dddf Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:12 +0100
|
||||
Subject: [PATCH 23/29] hrtimer: Split hrtimer_start_range_ns()
|
||||
Subject: [PATCH 039/418] hrtimer: Split hrtimer_start_range_ns()
|
||||
|
||||
Preparatory patch for softirq based hrtimers to avoid code duplication. No
|
||||
functional change.
|
||||
@@ -8,12 +9,14 @@ functional change.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 44 ++++++++++++++++++++++++--------------------
|
||||
kernel/time/hrtimer.c | 44 +++++++++++++++++++++++--------------------
|
||||
1 file changed, 24 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 9030dcb3ef14..687a8d903a18 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -909,22 +909,11 @@ static inline ktime_t hrtimer_update_low
|
||||
@@ -909,22 +909,11 @@ static inline ktime_t hrtimer_update_lowres(struct hrtimer *timer, ktime_t tim,
|
||||
return tim;
|
||||
}
|
||||
|
||||
@@ -40,7 +43,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/* Remove an active timer from the queue: */
|
||||
remove_hrtimer(timer, base, true);
|
||||
@@ -939,12 +928,27 @@ void hrtimer_start_range_ns(struct hrtim
|
||||
@@ -939,12 +928,27 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
/* Switch the timer base, if necessary: */
|
||||
new_base = switch_hrtimer_base(timer, base, mode & HRTIMER_MODE_PINNED);
|
||||
|
||||
@@ -73,3 +76,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
unlock_hrtimer_base(timer, &flags);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hrtimer_start_range_ns);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 02981f05fa68ffe985a592dc05e55aab21ade52d Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:13 +0100
|
||||
Subject: [PATCH 24/29] hrtimer: Split __hrtimer_get_next_event()
|
||||
Subject: [PATCH 040/418] hrtimer: Split __hrtimer_get_next_event()
|
||||
|
||||
Preparatory patch for softirq based hrtimers to avoid code duplication. No
|
||||
functional change.
|
||||
@@ -8,12 +9,14 @@ functional change.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 20 ++++++++++++++++----
|
||||
kernel/time/hrtimer.c | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 687a8d903a18..2382bc5d8e4d 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -459,13 +459,13 @@ static struct hrtimer_clock_base *
|
||||
@@ -459,13 +459,13 @@ __next_base(struct hrtimer_cpu_base *cpu_base, unsigned int *active)
|
||||
while ((base = __next_base((cpu_base), &(active))))
|
||||
|
||||
#if defined(CONFIG_NO_HZ_COMMON) || defined(CONFIG_HIGH_RES_TIMERS)
|
||||
@@ -31,7 +34,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
for_each_active_base(base, cpu_base, active) {
|
||||
struct timerqueue_node *next;
|
||||
struct hrtimer *timer;
|
||||
@@ -487,6 +487,18 @@ static ktime_t __hrtimer_get_next_event(
|
||||
@@ -487,6 +487,18 @@ static ktime_t __hrtimer_get_next_event(struct hrtimer_cpu_base *cpu_base)
|
||||
expires_next = 0;
|
||||
return expires_next;
|
||||
}
|
||||
@@ -50,3 +53,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#endif
|
||||
|
||||
static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
From 98dc570c5d061de989184f864ecfb6ce8d37908d Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:14 +0100
|
||||
Subject: [PATCH 25/29] hrtimer: Use irqsave/irqrestore around __run_hrtimer()
|
||||
Subject: [PATCH 041/418] hrtimer: Use irqsave/irqrestore around
|
||||
__run_hrtimer()
|
||||
|
||||
__run_hrtimer() is called with the hrtimer_cpu_base.lock held and
|
||||
interrupts disabled. Before invoking the timer callback the base lock is
|
||||
@@ -19,9 +21,11 @@ Suggested-by: Peter Zijlstra <peterz@infradead.org>
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 31 ++++++++++++++++++-------------
|
||||
kernel/time/hrtimer.c | 31 ++++++++++++++++++-------------
|
||||
1 file changed, 18 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 2382bc5d8e4d..86cdc9a76911 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -1163,7 +1163,8 @@ EXPORT_SYMBOL_GPL(hrtimer_active);
|
||||
@@ -34,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
{
|
||||
enum hrtimer_restart (*fn)(struct hrtimer *);
|
||||
int restart;
|
||||
@@ -1198,11 +1199,11 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1198,11 +1199,11 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
* protected against migration to a different CPU even if the lock
|
||||
* is dropped.
|
||||
*/
|
||||
@@ -48,7 +52,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/*
|
||||
* Note: We clear the running state after enqueue_hrtimer and
|
||||
@@ -1230,7 +1231,8 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1230,7 +1231,8 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
base->running = NULL;
|
||||
}
|
||||
|
||||
@@ -58,7 +62,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
{
|
||||
struct hrtimer_clock_base *base;
|
||||
unsigned int active = cpu_base->active_bases;
|
||||
@@ -1261,7 +1263,7 @@ static void __hrtimer_run_queues(struct
|
||||
@@ -1261,7 +1263,7 @@ static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now)
|
||||
if (basenow < hrtimer_get_softexpires_tv64(timer))
|
||||
break;
|
||||
|
||||
@@ -67,7 +71,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1276,13 +1278,14 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1276,13 +1278,14 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
{
|
||||
struct hrtimer_cpu_base *cpu_base = this_cpu_ptr(&hrtimer_bases);
|
||||
ktime_t expires_next, now, entry_time, delta;
|
||||
@@ -83,7 +87,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
entry_time = now = hrtimer_update_base(cpu_base);
|
||||
retry:
|
||||
cpu_base->in_hrtirq = 1;
|
||||
@@ -1295,7 +1298,7 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1295,7 +1298,7 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
*/
|
||||
cpu_base->expires_next = KTIME_MAX;
|
||||
|
||||
@@ -92,7 +96,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/* Reevaluate the clock bases for the next expiry */
|
||||
expires_next = __hrtimer_get_next_event(cpu_base);
|
||||
@@ -1305,7 +1308,7 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1305,7 +1308,7 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
*/
|
||||
cpu_base->expires_next = expires_next;
|
||||
cpu_base->in_hrtirq = 0;
|
||||
@@ -101,7 +105,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/* Reprogramming necessary ? */
|
||||
if (!tick_program_event(expires_next, 0)) {
|
||||
@@ -1326,7 +1329,7 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1326,7 +1329,7 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
* Acquire base lock for updating the offsets and retrieving
|
||||
* the current time.
|
||||
*/
|
||||
@@ -110,7 +114,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
now = hrtimer_update_base(cpu_base);
|
||||
cpu_base->nr_retries++;
|
||||
if (++retries < 3)
|
||||
@@ -1339,7 +1342,8 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1339,7 +1342,8 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
*/
|
||||
cpu_base->nr_hangs++;
|
||||
cpu_base->hang_detected = 1;
|
||||
@@ -120,7 +124,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
delta = ktime_sub(now, entry_time);
|
||||
if ((unsigned int)delta > cpu_base->max_hang_time)
|
||||
cpu_base->max_hang_time = (unsigned int) delta;
|
||||
@@ -1381,6 +1385,7 @@ static inline void __hrtimer_peek_ahead_
|
||||
@@ -1381,6 +1385,7 @@ static inline void __hrtimer_peek_ahead_timers(void) { }
|
||||
void hrtimer_run_queues(void)
|
||||
{
|
||||
struct hrtimer_cpu_base *cpu_base = this_cpu_ptr(&hrtimer_bases);
|
||||
@@ -142,3 +146,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
From d748cf5fda146e95ece2f26bbb5355989feb2c0c Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:15 +0100
|
||||
Subject: [PATCH 26/29] hrtimer: Add clock bases and hrtimer mode for soft irq
|
||||
context
|
||||
Subject: [PATCH 042/418] hrtimer: Add clock bases and hrtimer mode for soft
|
||||
irq context
|
||||
|
||||
hrtimer callback functions are always executed in hard interrupt
|
||||
context. Users of hrtimer which need their timer function to be executed
|
||||
@@ -19,11 +20,13 @@ bits and update the decoding of hrtimer_mode in tracepoints.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 14 ++++++++++++++
|
||||
include/trace/events/timer.h | 6 +++++-
|
||||
kernel/time/hrtimer.c | 20 ++++++++++++++++++++
|
||||
include/linux/hrtimer.h | 14 ++++++++++++++
|
||||
include/trace/events/timer.h | 6 +++++-
|
||||
kernel/time/hrtimer.c | 20 ++++++++++++++++++++
|
||||
3 files changed, 39 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 98ed35767ac5..26ae8a868ea8 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -33,14 +33,24 @@ struct hrtimer_cpu_base;
|
||||
@@ -62,6 +65,8 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
HRTIMER_MAX_CLOCK_BASES,
|
||||
};
|
||||
|
||||
diff --git a/include/trace/events/timer.h b/include/trace/events/timer.h
|
||||
index 744b4310b24b..a57e4ee989d6 100644
|
||||
--- a/include/trace/events/timer.h
|
||||
+++ b/include/trace/events/timer.h
|
||||
@@ -148,7 +148,11 @@ DEFINE_EVENT(timer_class, timer_cancel,
|
||||
@@ -77,9 +82,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/**
|
||||
* hrtimer_init - called when the hrtimer is initialized
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 86cdc9a76911..b5121845d12c 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -92,6 +92,26 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base,
|
||||
@@ -92,6 +92,26 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases) =
|
||||
.clockid = CLOCK_TAI,
|
||||
.get_time = &ktime_get_clocktai,
|
||||
},
|
||||
@@ -106,3 +113,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 8eacbcb00c9529dab3e37cfd52c28c8812c075d0 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:16 +0100
|
||||
Subject: [PATCH 27/29] hrtimer: Prepare handling of hard and softirq based
|
||||
Subject: [PATCH 043/418] hrtimer: Prepare handling of hard and softirq based
|
||||
hrtimers
|
||||
|
||||
The softirq based hrtimer can utilize most of the existing hrtimers
|
||||
@@ -13,15 +14,18 @@ mask.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 38 +++++++++++++++++++++++++++++---------
|
||||
kernel/time/hrtimer.c | 38 +++++++++++++++++++++++++++++---------
|
||||
1 file changed, 29 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index b5121845d12c..9a1f2b00c847 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -60,6 +60,15 @@
|
||||
@@ -59,6 +59,15 @@
|
||||
|
||||
#include "tick-internal.h"
|
||||
|
||||
/*
|
||||
+/*
|
||||
+ * Masks for selecting the soft and hard context timers from
|
||||
+ * cpu_base->active
|
||||
+ */
|
||||
@@ -30,11 +34,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
+#define HRTIMER_ACTIVE_SOFT (HRTIMER_ACTIVE_HARD << MASK_SHIFT)
|
||||
+#define HRTIMER_ACTIVE_ALL (HRTIMER_ACTIVE_SOFT | HRTIMER_ACTIVE_HARD)
|
||||
+
|
||||
+/*
|
||||
/*
|
||||
* The timer bases:
|
||||
*
|
||||
* There are more clockids than hrtimer bases. Thus, we index
|
||||
@@ -508,13 +517,24 @@ static ktime_t __hrtimer_next_event_base
|
||||
@@ -508,13 +517,24 @@ static ktime_t __hrtimer_next_event_base(struct hrtimer_cpu_base *cpu_base,
|
||||
return expires_next;
|
||||
}
|
||||
|
||||
@@ -61,7 +64,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
expires_next = __hrtimer_next_event_base(cpu_base, active, expires_next);
|
||||
|
||||
return expires_next;
|
||||
@@ -555,7 +575,7 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -555,7 +575,7 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
{
|
||||
ktime_t expires_next;
|
||||
|
||||
@@ -79,7 +82,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
|
||||
|
||||
@@ -1252,10 +1272,10 @@ static void __run_hrtimer(struct hrtimer
|
||||
@@ -1252,10 +1272,10 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
|
||||
}
|
||||
|
||||
static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now,
|
||||
@@ -92,7 +95,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
for_each_active_base(base, cpu_base, active) {
|
||||
struct timerqueue_node *node;
|
||||
@@ -1318,10 +1338,10 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1318,10 +1338,10 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
*/
|
||||
cpu_base->expires_next = KTIME_MAX;
|
||||
|
||||
@@ -114,3 +117,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From f5e86c469b7c959867c9f4cb475ba5a116655ea6 Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:17 +0100
|
||||
Subject: [PATCH 28/29] hrtimer: Implement support for softirq based hrtimers
|
||||
Subject: [PATCH 044/418] hrtimer: Implement support for softirq based hrtimers
|
||||
|
||||
hrtimer callbacks are always invoked in hard interrupt context. Several
|
||||
users in tree require soft interrupt context for their callbacks and
|
||||
@@ -33,10 +34,12 @@ Suggested-by: Peter Zijlstra <peterz@infradead.org>
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
include/linux/hrtimer.h | 21 +++--
|
||||
kernel/time/hrtimer.c | 199 +++++++++++++++++++++++++++++++++++++++++-------
|
||||
include/linux/hrtimer.h | 21 ++++-
|
||||
kernel/time/hrtimer.c | 199 ++++++++++++++++++++++++++++++++++------
|
||||
2 files changed, 189 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index 26ae8a868ea8..c7902ca7c9f4 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -103,6 +103,7 @@ enum hrtimer_restart {
|
||||
@@ -98,7 +101,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
|
||||
} ____cacheline_aligned;
|
||||
|
||||
@@ -379,7 +389,8 @@ extern void hrtimer_start_range_ns(struc
|
||||
@@ -379,7 +389,8 @@ extern void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
* @timer: the timer to be added
|
||||
* @tim: expiry time
|
||||
* @mode: timer mode: absolute (HRTIMER_MODE_ABS) or
|
||||
@@ -108,9 +111,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
static inline void hrtimer_start(struct hrtimer *timer, ktime_t tim,
|
||||
const enum hrtimer_mode mode)
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 9a1f2b00c847..66d7a12d7256 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -411,7 +411,8 @@ static inline void debug_hrtimer_init(st
|
||||
@@ -411,7 +411,8 @@ static inline void debug_hrtimer_init(struct hrtimer *timer)
|
||||
debug_object_init(timer, &hrtimer_debug_descr);
|
||||
}
|
||||
|
||||
@@ -120,7 +125,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
{
|
||||
debug_object_activate(timer, &hrtimer_debug_descr);
|
||||
}
|
||||
@@ -444,8 +445,10 @@ void destroy_hrtimer_on_stack(struct hrt
|
||||
@@ -444,8 +445,10 @@ void destroy_hrtimer_on_stack(struct hrtimer *timer)
|
||||
EXPORT_SYMBOL_GPL(destroy_hrtimer_on_stack);
|
||||
|
||||
#else
|
||||
@@ -132,7 +137,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static inline void debug_hrtimer_deactivate(struct hrtimer *timer) { }
|
||||
#endif
|
||||
|
||||
@@ -460,7 +463,7 @@ debug_init(struct hrtimer *timer, clocki
|
||||
@@ -460,7 +463,7 @@ debug_init(struct hrtimer *timer, clockid_t clockid,
|
||||
static inline void debug_activate(struct hrtimer *timer,
|
||||
enum hrtimer_mode mode)
|
||||
{
|
||||
@@ -141,7 +146,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
trace_hrtimer_start(timer, mode);
|
||||
}
|
||||
|
||||
@@ -487,7 +490,6 @@ static struct hrtimer_clock_base *
|
||||
@@ -487,7 +490,6 @@ __next_base(struct hrtimer_cpu_base *cpu_base, unsigned int *active)
|
||||
#define for_each_active_base(base, cpu_base, active) \
|
||||
while ((base = __next_base((cpu_base), &(active))))
|
||||
|
||||
@@ -149,7 +154,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static ktime_t __hrtimer_next_event_base(struct hrtimer_cpu_base *cpu_base,
|
||||
unsigned int active,
|
||||
ktime_t expires_next)
|
||||
@@ -504,7 +506,10 @@ static ktime_t __hrtimer_next_event_base
|
||||
@@ -504,7 +506,10 @@ static ktime_t __hrtimer_next_event_base(struct hrtimer_cpu_base *cpu_base,
|
||||
expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
|
||||
if (expires < expires_next) {
|
||||
expires_next = expires;
|
||||
@@ -161,7 +166,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
}
|
||||
/*
|
||||
@@ -521,25 +526,42 @@ static ktime_t __hrtimer_next_event_base
|
||||
@@ -521,25 +526,42 @@ static ktime_t __hrtimer_next_event_base(struct hrtimer_cpu_base *cpu_base,
|
||||
* Recomputes cpu_base::*next_timer and returns the earliest expires_next but
|
||||
* does not set cpu_base::*expires_next, that is done by hrtimer_reprogram.
|
||||
*
|
||||
@@ -211,7 +216,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base)
|
||||
{
|
||||
@@ -547,8 +569,14 @@ static inline ktime_t hrtimer_update_bas
|
||||
@@ -547,8 +569,14 @@ static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base)
|
||||
ktime_t *offs_boot = &base->clock_base[HRTIMER_BASE_BOOTTIME].offset;
|
||||
ktime_t *offs_tai = &base->clock_base[HRTIMER_BASE_TAI].offset;
|
||||
|
||||
@@ -227,7 +232,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -575,7 +603,23 @@ hrtimer_force_reprogram(struct hrtimer_c
|
||||
@@ -575,7 +603,23 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
|
||||
{
|
||||
ktime_t expires_next;
|
||||
|
||||
@@ -252,7 +257,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
if (skip_equal && expires_next == cpu_base->expires_next)
|
||||
return;
|
||||
@@ -702,7 +746,7 @@ static inline void retrigger_next_event(
|
||||
@@ -702,7 +746,7 @@ static inline void retrigger_next_event(void *arg) { }
|
||||
*
|
||||
* Called with interrupts disabled and base->cpu_base.lock held
|
||||
*/
|
||||
@@ -261,10 +266,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
{
|
||||
struct hrtimer_cpu_base *cpu_base = this_cpu_ptr(&hrtimer_bases);
|
||||
struct hrtimer_clock_base *base = timer->base;
|
||||
@@ -711,6 +755,37 @@ static void hrtimer_reprogram(struct hrt
|
||||
@@ -710,6 +754,37 @@ static void hrtimer_reprogram(struct hrtimer *timer)
|
||||
|
||||
WARN_ON_ONCE(hrtimer_get_expires_tv64(timer) < 0);
|
||||
|
||||
/*
|
||||
+ /*
|
||||
+ * CLOCK_REALTIME timer might be requested with an absolute
|
||||
+ * expiry time which is less than base->offset. Set it to 0.
|
||||
+ */
|
||||
@@ -295,11 +301,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
/*
|
||||
* If the timer is not on the current cpu, we cannot reprogram
|
||||
* the other cpus clock event device.
|
||||
*/
|
||||
@@ -727,13 +802,6 @@ static void hrtimer_reprogram(struct hrt
|
||||
@@ -727,13 +802,6 @@ static void hrtimer_reprogram(struct hrtimer *timer)
|
||||
if (cpu_base->in_hrtirq)
|
||||
return;
|
||||
|
||||
@@ -313,7 +318,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
if (expires >= cpu_base->expires_next)
|
||||
return;
|
||||
|
||||
@@ -961,6 +1029,31 @@ static inline ktime_t hrtimer_update_low
|
||||
@@ -961,6 +1029,31 @@ static inline ktime_t hrtimer_update_lowres(struct hrtimer *timer, ktime_t tim,
|
||||
return tim;
|
||||
}
|
||||
|
||||
@@ -345,7 +350,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
static int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
u64 delta_ns, const enum hrtimer_mode mode,
|
||||
struct hrtimer_clock_base *base)
|
||||
@@ -982,13 +1075,15 @@ static int __hrtimer_start_range_ns(stru
|
||||
@@ -982,13 +1075,15 @@ static int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
|
||||
return enqueue_hrtimer(timer, new_base, mode);
|
||||
}
|
||||
@@ -362,7 +367,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
u64 delta_ns, const enum hrtimer_mode mode)
|
||||
@@ -996,10 +1091,16 @@ void hrtimer_start_range_ns(struct hrtim
|
||||
@@ -996,10 +1091,16 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
|
||||
struct hrtimer_clock_base *base;
|
||||
unsigned long flags;
|
||||
|
||||
@@ -389,7 +394,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
|
||||
|
||||
@@ -1308,6 +1409,23 @@ static void __hrtimer_run_queues(struct
|
||||
@@ -1308,6 +1409,23 @@ static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -413,7 +418,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
#ifdef CONFIG_HIGH_RES_TIMERS
|
||||
|
||||
/*
|
||||
@@ -1338,10 +1456,16 @@ void hrtimer_interrupt(struct clock_even
|
||||
@@ -1338,10 +1456,16 @@ void hrtimer_interrupt(struct clock_event_device *dev)
|
||||
*/
|
||||
cpu_base->expires_next = KTIME_MAX;
|
||||
|
||||
@@ -445,7 +450,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
__hrtimer_run_queues(cpu_base, now, flags, HRTIMER_ACTIVE_HARD);
|
||||
raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
|
||||
}
|
||||
@@ -1628,7 +1759,9 @@ int hrtimers_prepare_cpu(unsigned int cp
|
||||
@@ -1628,7 +1759,9 @@ int hrtimers_prepare_cpu(unsigned int cpu)
|
||||
cpu_base->hres_active = 0;
|
||||
cpu_base->hang_detected = 0;
|
||||
cpu_base->next_timer = NULL;
|
||||
@@ -496,3 +501,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 19acab9d8df9e75cfa7ec3ef85cd681573fda33e Mon Sep 17 00:00:00 2001
|
||||
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Date: Wed, 20 Dec 2017 17:13:18 +0100
|
||||
Subject: [PATCH 29/29] hrtimer: Implement SOFT/HARD clock base selection
|
||||
Subject: [PATCH 045/418] hrtimer: Implement SOFT/HARD clock base selection
|
||||
|
||||
All prerequisites to handle hrtimers for expiry in either hard or soft
|
||||
interrupt context are in place.
|
||||
@@ -11,12 +12,14 @@ hard or the soft irq clock base.
|
||||
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
kernel/time/hrtimer.c | 15 +++++++++++----
|
||||
kernel/time/hrtimer.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
|
||||
index 66d7a12d7256..9947480ad731 100644
|
||||
--- a/kernel/time/hrtimer.c
|
||||
+++ b/kernel/time/hrtimer.c
|
||||
@@ -1222,8 +1222,9 @@ static inline int hrtimer_clockid_to_bas
|
||||
@@ -1222,8 +1222,9 @@ static inline int hrtimer_clockid_to_base(clockid_t clock_id)
|
||||
static void __hrtimer_init(struct hrtimer *timer, clockid_t clock_id,
|
||||
enum hrtimer_mode mode)
|
||||
{
|
||||
@@ -27,7 +30,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
memset(timer, 0, sizeof(struct hrtimer));
|
||||
|
||||
@@ -1237,7 +1238,8 @@ static void __hrtimer_init(struct hrtime
|
||||
@@ -1237,7 +1238,8 @@ static void __hrtimer_init(struct hrtimer *timer, clockid_t clock_id,
|
||||
if (clock_id == CLOCK_REALTIME && mode & HRTIMER_MODE_REL)
|
||||
clock_id = CLOCK_MONOTONIC;
|
||||
|
||||
@@ -37,7 +40,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
timer->base = &cpu_base->clock_base[base];
|
||||
timerqueue_init(&timer->node);
|
||||
}
|
||||
@@ -1246,8 +1248,13 @@ static void __hrtimer_init(struct hrtime
|
||||
@@ -1246,8 +1248,13 @@ static void __hrtimer_init(struct hrtimer *timer, clockid_t clock_id,
|
||||
* hrtimer_init - initialize a timer to the given clock
|
||||
* @timer: the timer to be initialized
|
||||
* @clock_id: the clock to be used
|
||||
@@ -53,3 +56,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
*/
|
||||
void hrtimer_init(struct hrtimer *timer, clockid_t clock_id,
|
||||
enum hrtimer_mode mode)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From 2cbedaf9c22fa9c7b29f6e31ac181afd7d604783 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 23 Nov 2017 16:39:11 +0100
|
||||
Subject: [PATCH 30/36] can/bcm: Replace hrtimer_tasklet with softirq based
|
||||
Subject: [PATCH 046/418] can/bcm: Replace hrtimer_tasklet with softirq based
|
||||
hrtimer
|
||||
|
||||
Switch the timer to HRTIMER_MODE_SOFT, which executed the timer
|
||||
@@ -14,9 +15,11 @@ Cc: Marc Kleine-Budde <mkl@pengutronix.de>
|
||||
Cc: linux-can@vger.kernel.org
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
net/can/bcm.c | 156 +++++++++++++++++++---------------------------------------
|
||||
net/can/bcm.c | 156 +++++++++++++++++---------------------------------
|
||||
1 file changed, 52 insertions(+), 104 deletions(-)
|
||||
|
||||
diff --git a/net/can/bcm.c b/net/can/bcm.c
|
||||
index 13690334efa3..9cc67ac257f1 100644
|
||||
--- a/net/can/bcm.c
|
||||
+++ b/net/can/bcm.c
|
||||
@@ -102,7 +102,6 @@ struct bcm_op {
|
||||
@@ -27,7 +30,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
ktime_t rx_stamp, kt_ival1, kt_ival2, kt_lastmsg;
|
||||
int rx_ifindex;
|
||||
int cfsiz;
|
||||
@@ -364,25 +363,34 @@ static void bcm_send_to_user(struct bcm_
|
||||
@@ -364,25 +363,34 @@ static void bcm_send_to_user(struct bcm_op *op, struct bcm_msg_head *head,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +75,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
op->count--;
|
||||
if (!op->count && (op->flags & TX_COUNTEVT)) {
|
||||
|
||||
@@ -399,22 +407,12 @@ static void bcm_tx_timeout_tsklet(unsign
|
||||
@@ -399,22 +407,12 @@ static void bcm_tx_timeout_tsklet(unsigned long data)
|
||||
}
|
||||
bcm_can_tx(op);
|
||||
|
||||
@@ -99,7 +102,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -480,7 +478,7 @@ static void bcm_rx_update_and_send(struc
|
||||
@@ -480,7 +478,7 @@ static void bcm_rx_update_and_send(struct bcm_op *op,
|
||||
/* do not send the saved data - only start throttle timer */
|
||||
hrtimer_start(&op->thrtimer,
|
||||
ktime_add(op->kt_lastmsg, op->kt_ival2),
|
||||
@@ -108,7 +111,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -539,14 +537,21 @@ static void bcm_rx_starttimer(struct bcm
|
||||
@@ -539,14 +537,21 @@ static void bcm_rx_starttimer(struct bcm_op *op)
|
||||
return;
|
||||
|
||||
if (op->kt_ival1)
|
||||
@@ -133,7 +136,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/* create notification to user */
|
||||
msg_head.opcode = RX_TIMEOUT;
|
||||
msg_head.flags = op->flags;
|
||||
@@ -557,25 +562,6 @@ static void bcm_rx_timeout_tsklet(unsign
|
||||
@@ -557,25 +562,6 @@ static void bcm_rx_timeout_tsklet(unsigned long data)
|
||||
msg_head.nframes = 0;
|
||||
|
||||
bcm_send_to_user(op, &msg_head, NULL, 0);
|
||||
@@ -159,7 +162,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
return HRTIMER_NORESTART;
|
||||
}
|
||||
@@ -583,14 +569,12 @@ static enum hrtimer_restart bcm_rx_timeo
|
||||
@@ -583,14 +569,12 @@ static enum hrtimer_restart bcm_rx_timeout_handler(struct hrtimer *hrtimer)
|
||||
/*
|
||||
* bcm_rx_do_flush - helper for bcm_rx_thr_flush
|
||||
*/
|
||||
@@ -176,7 +179,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@@ -598,11 +582,8 @@ static inline int bcm_rx_do_flush(struct
|
||||
@@ -598,11 +582,8 @@ static inline int bcm_rx_do_flush(struct bcm_op *op, int update,
|
||||
|
||||
/*
|
||||
* bcm_rx_thr_flush - Check for throttled data and send it to the userspace
|
||||
@@ -189,7 +192,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
{
|
||||
int updated = 0;
|
||||
|
||||
@@ -611,24 +592,16 @@ static int bcm_rx_thr_flush(struct bcm_o
|
||||
@@ -611,24 +592,16 @@ static int bcm_rx_thr_flush(struct bcm_op *op, int update)
|
||||
|
||||
/* for MUX filter we start at index 1 */
|
||||
for (i = 1; i < op->nframes; i++)
|
||||
@@ -216,7 +219,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/*
|
||||
* bcm_rx_thr_handler - the time for blocked content updates is over now:
|
||||
* Check for throttled data and send it to the userspace
|
||||
@@ -637,9 +610,7 @@ static enum hrtimer_restart bcm_rx_thr_h
|
||||
@@ -637,9 +610,7 @@ static enum hrtimer_restart bcm_rx_thr_handler(struct hrtimer *hrtimer)
|
||||
{
|
||||
struct bcm_op *op = container_of(hrtimer, struct bcm_op, thrtimer);
|
||||
|
||||
@@ -227,7 +230,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
hrtimer_forward(hrtimer, ktime_get(), op->kt_ival2);
|
||||
return HRTIMER_RESTART;
|
||||
} else {
|
||||
@@ -735,23 +706,8 @@ static struct bcm_op *bcm_find_op(struct
|
||||
@@ -735,23 +706,8 @@ static struct bcm_op *bcm_find_op(struct list_head *ops,
|
||||
|
||||
static void bcm_remove_op(struct bcm_op *op)
|
||||
{
|
||||
@@ -253,7 +256,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
if ((op->frames) && (op->frames != &op->sframe))
|
||||
kfree(op->frames);
|
||||
@@ -979,15 +935,13 @@ static int bcm_tx_setup(struct bcm_msg_h
|
||||
@@ -979,15 +935,13 @@ static int bcm_tx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
|
||||
op->ifindex = ifindex;
|
||||
|
||||
/* initialize uninitialized (kzalloc) structure */
|
||||
@@ -273,7 +276,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
/* add this bcm_op to the list of the tx_ops */
|
||||
list_add(&op->list, &bo->tx_ops);
|
||||
@@ -1150,20 +1104,14 @@ static int bcm_rx_setup(struct bcm_msg_h
|
||||
@@ -1150,20 +1104,14 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
|
||||
op->rx_ifindex = ifindex;
|
||||
|
||||
/* initialize uninitialized (kzalloc) structure */
|
||||
@@ -298,7 +301,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
/* add this bcm_op to the list of the rx_ops */
|
||||
list_add(&op->list, &bo->rx_ops);
|
||||
|
||||
@@ -1209,12 +1157,12 @@ static int bcm_rx_setup(struct bcm_msg_h
|
||||
@@ -1209,12 +1157,12 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
|
||||
*/
|
||||
op->kt_lastmsg = 0;
|
||||
hrtimer_cancel(&op->thrtimer);
|
||||
@@ -313,3 +316,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
/* now we can register for can_ids, if we added a new bcm_op */
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
From b598f6cc9629cfae9153cad4f169cd94de94b74d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 23 Nov 2017 16:39:12 +0100
|
||||
Subject: [PATCH 31/36] mac80211_hwsim: Replace hrtimer tasklet with softirq
|
||||
Subject: [PATCH 047/418] mac80211_hwsim: Replace hrtimer tasklet with softirq
|
||||
hrtimer
|
||||
|
||||
Switch the timer to HRTIMER_MODE_SOFT, which executed the timer
|
||||
@@ -13,9 +14,11 @@ Cc: Johannes Berg <johannes@sipsolutions.net>
|
||||
Cc: Kalle Valo <kvalo@codeaurora.org>
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
---
|
||||
drivers/net/wireless/mac80211_hwsim.c | 44 +++++++++++++++-------------------
|
||||
drivers/net/wireless/mac80211_hwsim.c | 44 ++++++++++++---------------
|
||||
1 file changed, 20 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
|
||||
index d686ba10fecc..4afcdee4f8e2 100644
|
||||
--- a/drivers/net/wireless/mac80211_hwsim.c
|
||||
+++ b/drivers/net/wireless/mac80211_hwsim.c
|
||||
@@ -537,7 +537,7 @@ struct mac80211_hwsim_data {
|
||||
@@ -27,7 +30,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
enum ps_mode {
|
||||
PS_DISABLED, PS_ENABLED, PS_AUTO_POLL, PS_MANUAL_POLL
|
||||
} ps;
|
||||
@@ -1423,7 +1423,7 @@ static void mac80211_hwsim_stop(struct i
|
||||
@@ -1423,7 +1423,7 @@ static void mac80211_hwsim_stop(struct ieee80211_hw *hw)
|
||||
{
|
||||
struct mac80211_hwsim_data *data = hw->priv;
|
||||
data->started = false;
|
||||
@@ -53,7 +56,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
ieee80211_iterate_active_interfaces_atomic(
|
||||
hw, IEEE80211_IFACE_ITER_NORMAL,
|
||||
@@ -1565,11 +1563,9 @@ mac80211_hwsim_beacon(struct hrtimer *ti
|
||||
@@ -1565,11 +1563,9 @@ mac80211_hwsim_beacon(struct hrtimer *timer)
|
||||
data->bcn_delta = 0;
|
||||
}
|
||||
|
||||
@@ -68,7 +71,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
static const char * const hwsim_chanwidths[] = {
|
||||
@@ -1643,15 +1639,15 @@ static int mac80211_hwsim_config(struct
|
||||
@@ -1643,15 +1639,15 @@ static int mac80211_hwsim_config(struct ieee80211_hw *hw, u32 changed)
|
||||
mutex_unlock(&data->mutex);
|
||||
|
||||
if (!data->started || !data->beacon_int)
|
||||
@@ -89,7 +92,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1714,7 +1710,7 @@ static void mac80211_hwsim_bss_info_chan
|
||||
@@ -1714,7 +1710,7 @@ static void mac80211_hwsim_bss_info_changed(struct ieee80211_hw *hw,
|
||||
info->enable_beacon, info->beacon_int);
|
||||
vp->bcn_en = info->enable_beacon;
|
||||
if (data->started &&
|
||||
@@ -98,7 +101,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
info->enable_beacon) {
|
||||
u64 tsf, until_tbtt;
|
||||
u32 bcn_int;
|
||||
@@ -1722,9 +1718,9 @@ static void mac80211_hwsim_bss_info_chan
|
||||
@@ -1722,9 +1718,9 @@ static void mac80211_hwsim_bss_info_changed(struct ieee80211_hw *hw,
|
||||
tsf = mac80211_hwsim_get_tsf(hw, vif);
|
||||
bcn_int = data->beacon_int;
|
||||
until_tbtt = bcn_int - do_div(tsf, bcn_int);
|
||||
@@ -111,7 +114,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
} else if (!info->enable_beacon) {
|
||||
unsigned int count = 0;
|
||||
ieee80211_iterate_active_interfaces_atomic(
|
||||
@@ -1733,7 +1729,7 @@ static void mac80211_hwsim_bss_info_chan
|
||||
@@ -1733,7 +1729,7 @@ static void mac80211_hwsim_bss_info_changed(struct ieee80211_hw *hw,
|
||||
wiphy_debug(hw->wiphy, " beaconing vifs remaining: %u",
|
||||
count);
|
||||
if (count == 0) {
|
||||
@@ -120,7 +123,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
data->beacon_int = 0;
|
||||
}
|
||||
}
|
||||
@@ -2725,9 +2721,9 @@ static int mac80211_hwsim_new_radio(stru
|
||||
@@ -2725,9 +2721,9 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
|
||||
data->debugfs,
|
||||
data, &hwsim_simulate_radar);
|
||||
|
||||
@@ -133,3 +136,6 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
|
||||
spin_lock_bh(&hwsim_radio_lock);
|
||||
list_add_tail(&data->list, &hwsim_radios);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user