From: Eder Zulian <ezulian(a)redhat.com>
rust: Fix build error
When CONFIG_DEBUG_SPINLOCK=y and CONFIG_PREEMPT_RT=y the following build
error occurs:
In file included from rust/helpers/helpers.c:22:
rust/helpers/spinlock.c: In function ‘rust_helper___spin_lock_init’:
rust/helpers/spinlock.c:10:30: error: implicit declaration of function ‘spinlock_check’; did you mean ‘spin_lock_bh’? [-Wimplicit-function-declaration]
10 | __raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG);
| ^~~~~~~~~~~~~~
| spin_lock_bh
rust/helpers/spinlock.c:10:30: error: passing argument 1 of ‘__raw_spin_lock_init’ makes pointer from integer without a cast [-Wint-conversion]
10 | __raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG);
| ^~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from ./include/linux/wait.h:9,
from ./include/linux/wait_bit.h:8,
from ./include/linux/fs.h:6,
from ./include/linux/highmem.h:5,
from ./include/linux/bvec.h:10,
from ./include/linux/blk_types.h:10,
from ./include/linux/blkdev.h:9,
from ./include/linux/blk-mq.h:5,
from rust/helpers/blk.c:3,
from rust/helpers/helpers.c:10:
./include/linux/spinlock.h:101:52: note: expected ‘raw_spinlock_t *’ {aka ‘struct raw_spinlock *’} but argument is of type ‘int’
101 | extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
| ~~~~~~~~~~~~~~~~^~~~
make[2]: *** [scripts/Makefile.build:229: rust/helpers/helpers.o] Error 1
Error observed while building a rt-debug kernel for aarch64.
On a PREEMPT_RT build, spin locks have been mapped to rt_mutex types, so
avoid the raw_spinlock_init call for RT.
Suggested-by: Clark Williams <williams(a)redhat.com>
Signed-off-by: Eder Zulian <ezulian(a)redhat.com>
diff --git a/rust/helpers/spinlock.c b/rust/helpers/spinlock.c
index blahblah..blahblah 100644
--- a/rust/helpers/spinlock.c
+++ b/rust/helpers/spinlock.c
@@ -6,7 +6,7 @@
void rust_helper___spin_lock_init(spinlock_t *lock, const char *name,
struct lock_class_key *key)
{
-#ifdef CONFIG_DEBUG_SPINLOCK
+#if defined(CONFIG_DEBUG_SPINLOCK) && !defined(CONFIG_PREEMPT_RT)
__raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG);
#else
spin_lock_init(lock);
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3441
From: Patrick Talbert <ptalbert(a)redhat.com>
[redhat] scripts: check for `gitlab` command in ark-create-release.sh
We should not run this script without it.
Signed-off-by: Patrick Talbert <ptalbert(a)redhat.com>
diff --git a/redhat/scripts/ci/ark-create-release.sh b/redhat/scripts/ci/ark-create-release.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-create-release.sh
+++ b/redhat/scripts/ci/ark-create-release.sh
@@ -7,6 +7,12 @@
set -e
+# This script requires the `gitlab` command to locate `Include in Releases` content.
+if ! command -v gitlab > /dev/null 2>&1 ; then
+ echo "Required command 'gitlab' (from python-gitlab package) not present."
+ exit 1
+fi
+
# source common CI functions and variables
# shellcheck disable=SC1091
. "$(dirname "$0")"/ark-ci-env.sh
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3439
From: Jeremy Linton <jlinton(a)redhat.com>
[redhat] configs: Disable experimental GSM MUX line discipline
Most other distro's have disabled this following a series of
exploits earlier this year, and the general take that the driver
wasn't sufficiently maintained. Lets follow gregkh's suggestion
and disable it.
Signed-off-by: Jeremy Linton <jlinton(a)redhat.com>
diff --git a/redhat/configs/common/generic/CONFIG_N_GSM b/redhat/configs/common/generic/CONFIG_N_GSM
index blahblah..blahblah 100644
--- a/redhat/configs/common/generic/CONFIG_N_GSM
+++ b/redhat/configs/common/generic/CONFIG_N_GSM
@@ -1 +1 @@
-CONFIG_N_GSM=m
+# CONFIG_N_GSM is not set
diff --git a/redhat/configs/fedora/generic/s390x/CONFIG_N_GSM b/redhat/configs/fedora/generic/s390x/CONFIG_N_GSM
deleted file mode 100644
index blahblah..blahblah 0
--- a/redhat/configs/fedora/generic/s390x/CONFIG_N_GSM
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_N_GSM is not set
diff --git a/redhat/configs/rhel/generic/s390x/zfcpdump/CONFIG_N_GSM b/redhat/configs/rhel/generic/s390x/zfcpdump/CONFIG_N_GSM
deleted file mode 100644
index blahblah..blahblah 0
--- a/redhat/configs/rhel/generic/s390x/zfcpdump/CONFIG_N_GSM
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_N_GSM=y
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3444
From: Rafael Aquini <raquini(a)redhat.com>
redhat: configs: decrease CONFIG_PCP_BATCH_SCALE_MAX
In page allocator, PCP (Per-CPU pageset) is refilled and drained in batches.
The batch number is scaled automatically to improve page allocation/free
throughput. But a too large scale factor may end up hurting latency, like
observed on https://issues.redhat.com/browse/RHEL-59526.
We're bringing this down to 0 for RHEL, to provide a smooth linear scaling
factor as opposed to the default exponential scaling factor.
Signed-off-by: Rafael Aquini <raquini(a)redhat.com>
diff --git a/redhat/configs/rhel/generic/CONFIG_PCP_BATCH_SCALE_MAX b/redhat/configs/rhel/generic/CONFIG_PCP_BATCH_SCALE_MAX
index blahblah..blahblah 100644
--- a/redhat/configs/rhel/generic/CONFIG_PCP_BATCH_SCALE_MAX
+++ b/redhat/configs/rhel/generic/CONFIG_PCP_BATCH_SCALE_MAX
@@ -1 +1 @@
-CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PCP_BATCH_SCALE_MAX=0
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3440
From: Waiman Long <longman(a)redhat.com>
redhat/configs: Enable CONFIG_RCU_TRACE in Fedora/REHL kernels
As there seems to be a need to enable CONFIG_RCU_TRACE to assist in
debugging efforts, make it enabled in both the debug and production
kernels for both RHEL and Fedora.
Signed-off-by: Waiman Long <longman(a)redhat.com>
diff --git a/redhat/configs/common/debug/CONFIG_RCU_TRACE b/redhat/configs/common/debug/CONFIG_RCU_TRACE
deleted file mode 100644
index blahblah..blahblah 0
--- a/redhat/configs/common/debug/CONFIG_RCU_TRACE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_RCU_TRACE=y
diff --git a/redhat/configs/common/generic/CONFIG_RCU_TRACE b/redhat/configs/common/generic/CONFIG_RCU_TRACE
index blahblah..blahblah 100644
--- a/redhat/configs/common/generic/CONFIG_RCU_TRACE
+++ b/redhat/configs/common/generic/CONFIG_RCU_TRACE
@@ -1 +1 @@
-# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_TRACE=y
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3442
From: Waiman Long <longman(a)redhat.com>
redhat/configs: Enable CONFIG_RCU_TRACE in production kernel
As there seems to be a need to enable CONFIG_RCU_TRACE to assist in
debugging efforts, make it enabled in both the debug and production
kernels.
Signed-off-by: Waiman Long <longman(a)redhat.com>
diff --git a/redhat/configs/rhel/generic/CONFIG_RCU_TRACE b/redhat/configs/rhel/generic/CONFIG_RCU_TRACE
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/rhel/generic/CONFIG_RCU_TRACE
@@ -0,0 +1 @@
+CONFIG_RCU_TRACE=y
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3442
From: Eder Zulian <ezulian(a)redhat.com>
rust: Fix build error
When CONFIG_DEBUG_SPINLOCK=y and CONFIG_PREEMPT_RT=y the following build
error occurs:
In file included from rust/helpers/helpers.c:22:
rust/helpers/spinlock.c: In function ‘rust_helper___spin_lock_init’:
rust/helpers/spinlock.c:10:30: error: implicit declaration of function ‘spinlock_check’; did you mean ‘spin_lock_bh’? [-Wimplicit-function-declaration]
10 | __raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG);
| ^~~~~~~~~~~~~~
| spin_lock_bh
rust/helpers/spinlock.c:10:30: error: passing argument 1 of ‘__raw_spin_lock_init’ makes pointer from integer without a cast [-Wint-conversion]
10 | __raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG);
| ^~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from ./include/linux/wait.h:9,
from ./include/linux/wait_bit.h:8,
from ./include/linux/fs.h:6,
from ./include/linux/highmem.h:5,
from ./include/linux/bvec.h:10,
from ./include/linux/blk_types.h:10,
from ./include/linux/blkdev.h:9,
from ./include/linux/blk-mq.h:5,
from rust/helpers/blk.c:3,
from rust/helpers/helpers.c:10:
./include/linux/spinlock.h:101:52: note: expected ‘raw_spinlock_t *’ {aka ‘struct raw_spinlock *’} but argument is of type ‘int’
101 | extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name,
| ~~~~~~~~~~~~~~~~^~~~
make[2]: *** [scripts/Makefile.build:229: rust/helpers/helpers.o] Error 1
Error observed while building a rt-debug kernel for aarch64.
Map the spin_lock functions to the raw variants for PREEMPT_RT=n as
previously done in 'include/linux/spinlock.h'.
Signed-off-by: Eder Zulian <ezulian(a)redhat.com>
diff --git a/rust/helpers/spinlock.c b/rust/helpers/spinlock.c
index blahblah..blahblah 100644
--- a/rust/helpers/spinlock.c
+++ b/rust/helpers/spinlock.c
@@ -6,7 +6,7 @@
void rust_helper___spin_lock_init(spinlock_t *lock, const char *name,
struct lock_class_key *key)
{
-#ifdef CONFIG_DEBUG_SPINLOCK
+#if defined(CONFIG_DEBUG_SPINLOCK) && !defined(CONFIG_PREEMPT_RT)
__raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG);
#else
spin_lock_init(lock);
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3441
From: Patrick Talbert <ptalbert(a)redhat.com>
[redhat] scripts: check for `gitlab` command in ark-create-release.sh
We should not run this script without it.
Signed-off-by: Patrick Talbert <ptalbert(a)redhat.com>
diff --git a/redhat/scripts/ci/ark-create-release.sh b/redhat/scripts/ci/ark-create-release.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-create-release.sh
+++ b/redhat/scripts/ci/ark-create-release.sh
@@ -7,6 +7,12 @@
set -e
+# This script requires the `gitlab` command to locate `Include in Releases` content.
+if ! command -v gitlab 2>&1 > /dev/null; then
+ echo "Required command 'gitlab' (from python-gitlab package) not present."
+ exit 1
+fi
+
# source common CI functions and variables
# shellcheck disable=SC1091
. "$(dirname "$0")"/ark-ci-env.sh
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3439
From: Patrick Talbert <ptalbert(a)redhat.com>
[redhat] scripts: check for `gitlab` command in ark-create-release.sh
We should not run this script without it.
Signed-off-by: Patrick Talbert <ptalbert(a)redhat.com>
diff --git a/redhat/scripts/ci/ark-create-release.sh b/redhat/scripts/ci/ark-create-release.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-create-release.sh
+++ b/redhat/scripts/ci/ark-create-release.sh
@@ -7,6 +7,14 @@
set -e
+# This script requires the `gitlab` command to locate `Include in Releases` content.
+if ! command -v gitlab 2>&1 > /dev/null; then
+ echo "Required command 'gitlab' (from python-gitlab package) not present."
+ exit 1
+fi
+
+exit 0
+
# source common CI functions and variables
# shellcheck disable=SC1091
. "$(dirname "$0")"/ark-ci-env.sh
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3439