[All] Real messy commit with switch to NetworkManager, kernel bump and countless fixes that came up

This commit is contained in:
j1nx 2024-01-22 16:57:19 +00:00
parent fb20b65f17
commit e306bcd9bc
108 changed files with 229 additions and 489 deletions

@ -1 +1 @@
Subproject commit 16cc28ca2c6e3f1c0848548877bd787e54ba78c3
Subproject commit 68dab30c34f257a5cf1ff2baf41b77ace07d0113

View File

@ -67,7 +67,7 @@ mkdir -p ${BINARIES_DIR}/home
sudo mount -o loop,discard ${BINARIES_DIR}/homefs.ext4 ${BINARIES_DIR}/home
# sync home folder
sudo rsync -ah --progress ${TARGET_DIR}/home/* ${BINARIES_DIR}/home/
sudo rsync -avPHSX ${TARGET_DIR}/home/* ${BINARIES_DIR}/home/
# Unmount home image
sudo umount ${BINARIES_DIR}/homefs.ext4

View File

@ -1,2 +1,14 @@
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-mk1.git
git+https://github.com/NeonGeckoCom/neon-phal-plugin-linear_led.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-gui-network-client.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-network-manager.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-wifi-setup.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-balena-wifi.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-sensors.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-connectivity-events.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-2mic.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-respeaker-4mic.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-ipgeo.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-wallpaper-manager.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-oauth.git
git+https://github.com/OpenVoiceOS/ovos-PHAL-plugin-homeassistant.git

View File

@ -1,15 +1,15 @@
SUBSYSTEM=="input", GROUP="input", MODE="0666"
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"
SUBSYSTEM=="spidev", GROUP="spi", MODE="0660"
SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660"
SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660"
SUBSYSTEM=="spidev", GROUP="spi", MODE="0666"
SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0666"
SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0666"
SUBSYSTEM=="rpivid-*", GROUP="video", MODE="0660"
KERNEL=="vcsm-cma", GROUP="video", MODE="0660"
SUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"
SUBSYSTEM=="vchiq", GROUP="video", MODE="0660"
SUBSYSTEM=="gpio", GROUP="gpio", MODE="0660"
SUBSYSTEM=="gpio", GROUP="gpio", MODE="0666"
SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="/bin/sh -c 'chgrp -R gpio /sys/class/gpio && chmod -R g=u /sys/class/gpio'"
SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/bin/sh -c 'chgrp -R gpio /sys%p && chmod -R g=u /sys%p'"

View File

@ -30,7 +30,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4/post-i
BR2_ROOTFS_POST_SCRIPT_ARGS="--rpi4"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,342c7ee49e862edc30c893f141f55b9211b7a43b)/linux-342c7ee49e862edc30c893f141f55b9211b7a43b.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3)/linux-3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@ -169,7 +169,6 @@ BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_WEBP=y
BR2_PACKAGE_WIREPLUMBER=y
BR2_PACKAGE_ZBAR=y
BR2_PACKAGE_LIBGUDEV=y
BR2_PACKAGE_LIBINPUT=y
BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_JSON_GLIB=y
@ -181,7 +180,7 @@ BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC=y
BR2_PACKAGE_LIBCAMERA_APPS=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBNDP=y
BR2_PACKAGE_LIBDNET=y
BR2_PACKAGE_LIBNICE=y
BR2_PACKAGE_LIBRSYNC=y
BR2_PACKAGE_LIBSOUP=y
@ -195,6 +194,7 @@ BR2_PACKAGE_LIBCAP_TOOLS=y
BR2_PACKAGE_LIBNPTH=y
BR2_PACKAGE_LIBFRIBIDI=y
BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_AARDVARK_DNS=y
BR2_PACKAGE_AVAHI=y
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
@ -210,9 +210,17 @@ BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
BR2_PACKAGE_CRDA=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_IFUPDOWN=y
BR2_PACKAGE_IPROUTE2=y
BR2_PACKAGE_IPUTILS=y
BR2_PACKAGE_IW=y
BR2_PACKAGE_NET_TOOLS=y
BR2_PACKAGE_NETAVARK=y
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_NETWORK_MANAGER_TUI=y
BR2_PACKAGE_NETWORK_MANAGER_CLI=y
BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y
BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSSH_SANDBOX is not set
BR2_PACKAGE_WGET=y
@ -242,7 +250,6 @@ BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_EFIBOOTMGR=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_OPENVMTOOLS=y
BR2_PACKAGE_PODMAN=y
BR2_PACKAGE_PODMAN_DRIVER_BTRFS=y
BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y
@ -258,19 +265,21 @@ BR2_PACKAGE_SWUPDATE=y
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
BR2_PACKAGE_SWUPDATE_USB=y
BR2_PACKAGE_SYSTEMD_ANALYZE=y
BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
# BR2_PACKAGE_SYSTEMD_PSTORE is not set
BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set
BR2_PACKAGE_SYSTEMD_LOCALED=y
BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_SYSTEMD_MACHINED=y
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
BR2_PACKAGE_SYSTEMD_OOMD=y
BR2_PACKAGE_SYSTEMD_POLKIT=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_REPART=y
# BR2_PACKAGE_SYSTEMD_RESOLVED is not set
BR2_PACKAGE_SYSTEMD_RFKILL=y
# BR2_PACKAGE_SYSTEMD_VCONSOLE is not set
BR2_PACKAGE_SYSTEMD_BOOTCHART=y
BR2_PACKAGE_TAR=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
@ -316,4 +325,5 @@ BR2_PACKAGE_ROC_TOOLKIT=y
BR2_PACKAGE_RPI_EEPROM=y
BR2_PACKAGE_USERLAND_TOOLS=y
BR2_PACKAGE_VOCALFUSION=y
BR2_PACKAGE_WIFI_CONNECT=y
BR2_PACKAGE_PYTHON_SMBUS2=y

View File

@ -1,4 +1,4 @@
From 52072a197524e62baa4ac9a5f33d15cd8b27fb17 Mon Sep 17 00:00:00 2001
From fad2ed9bfa2fce870133fadd15b4d12a26213096 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 16 Aug 2022 09:45:22 +0200
Subject: [PATCH 01/62] vduse: Remove include of rwlock.h

View File

@ -1,4 +1,4 @@
From d5541b6ef4eccee650abfe3095b9e7365773494c Mon Sep 17 00:00:00 2001
From 2defd6085e9803ba06f6b56f6f901309462761a6 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 22 Jun 2022 11:36:17 +0200
Subject: [PATCH 02/62] signal: Don't disable preemption in ptrace_stop() on

View File

@ -1,4 +1,4 @@
From e4742fc784660e012dc23090a72614bf1f9a0ca1 Mon Sep 17 00:00:00 2001
From af0232b0cb6d5afed7dab020d7dca4759ad93757 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 22 Jun 2022 12:27:05 +0200
Subject: [PATCH 03/62] sched: Consider task_struct::saved_state in

View File

@ -1,4 +1,4 @@
From 638117350cb3452dd5043156c7e394befe7d6eb9 Mon Sep 17 00:00:00 2001
From 501df2b62fce3d3cea107bfc7c8c28283a62dc01 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Aug 2022 16:15:32 +0200
Subject: [PATCH 04/62] spi: Remove the obsolte u64_stats_fetch_*_irq() users.
@ -18,7 +18,7 @@ Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 5d046be8b2dd..716e6d6ecf98 100644
index 22d227878bc4..75cc8bbc2b14 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -127,10 +127,10 @@ do { \

View File

@ -1,4 +1,4 @@
From d1c3fb886c8b630c3a70f2f7192d53f545798283 Mon Sep 17 00:00:00 2001
From 06b58043930deffafd35aacc0b3f2af41ea720b3 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Aug 2022 16:15:44 +0200
Subject: [PATCH 05/62] net: Remove the obsolte u64_stats_fetch_*_irq() users
@ -723,10 +723,10 @@ index 107bcca7db8c..8f36fe90180f 100644
/* Once we successfully copy the stats in, update the data pointer */
*data += size;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index b4157ff370a3..3b1f912c4c2b 100644
index 63d43ef86f9b..8003cf091eee 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -419,10 +419,10 @@ static void i40e_get_netdev_stats_struct_tx(struct i40e_ring *ring,
@@ -425,10 +425,10 @@ static void i40e_get_netdev_stats_struct_tx(struct i40e_ring *ring,
unsigned int start;
do {
@ -739,7 +739,7 @@ index b4157ff370a3..3b1f912c4c2b 100644
stats->tx_packets += packets;
stats->tx_bytes += bytes;
@@ -472,10 +472,10 @@ static void i40e_get_netdev_stats_struct(struct net_device *netdev,
@@ -478,10 +478,10 @@ static void i40e_get_netdev_stats_struct(struct net_device *netdev,
if (!ring)
continue;
do {
@ -752,7 +752,7 @@ index b4157ff370a3..3b1f912c4c2b 100644
stats->rx_packets += packets;
stats->rx_bytes += bytes;
@@ -897,10 +897,10 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
@@ -903,10 +903,10 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
continue;
do {
@ -765,7 +765,7 @@ index b4157ff370a3..3b1f912c4c2b 100644
tx_b += bytes;
tx_p += packets;
tx_restart += p->tx_stats.restart_queue;
@@ -915,10 +915,10 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
@@ -921,10 +921,10 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
continue;
do {
@ -778,7 +778,7 @@ index b4157ff370a3..3b1f912c4c2b 100644
rx_b += bytes;
rx_p += packets;
rx_buf += p->rx_stats.alloc_buff_failed;
@@ -935,10 +935,10 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
@@ -941,10 +941,10 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
continue;
do {
@ -823,7 +823,7 @@ index f4ac2b164b3e..892c6a4f03bb 100644
/* Once we successfully copy the stats in, update the data pointer */
*data += size;
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index f0f39364819a..f8d722339e89 100644
index ab46cfca4028..aa74ce9afdf2 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -6419,10 +6419,10 @@ ice_fetch_u64_stats_per_ring(struct u64_stats_sync *syncp,
@ -910,7 +910,7 @@ index 45ce4ed16146..9824f7cfaca4 100644
packets += _packets;
}
diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c
index 81897f7a90a9..dd8a9d27a167 100644
index 2bee9cace598..f7284fa4324a 100644
--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
@@ -840,15 +840,15 @@ static void igc_ethtool_get_stats(struct net_device *netdev,

View File

@ -1,4 +1,4 @@
From a0c8ef7e6160582c71c0d8b1786d8e45dcc02132 Mon Sep 17 00:00:00 2001
From 62269129168ade34b47e64d0c82c16ea665e2bfe Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Aug 2022 16:17:37 +0200
Subject: [PATCH 06/62] net: Remove the obsolte u64_stats_fetch_*_irq() users
@ -87,10 +87,10 @@ index 9ffd40b8270c..bc75fa1e4666 100644
u64_stats_add(&stats->rx_packets, rxpackets);
u64_stats_add(&stats->rx_bytes, rxbytes);
diff --git a/net/core/dev.c b/net/core/dev.c
index 0d5aa820fd83..070039f9296c 100644
index 0a5566b6f8a2..29ae6265a408 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10505,12 +10505,12 @@ void dev_fetch_sw_netstats(struct rtnl_link_stats64 *s,
@@ -10508,12 +10508,12 @@ void dev_fetch_sw_netstats(struct rtnl_link_stats64 *s,
stats = per_cpu_ptr(netstats, cpu);
do {
@ -226,10 +226,10 @@ index 5fe075bf479e..28ee63ec1d1d 100644
data[1] += tx_bytes;
data[2] += rx_packets;
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 5d379df90c82..312c730b725f 100644
index 347c3768df6e..bc3d36463e32 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1708,9 +1708,9 @@ u64 snmp_get_cpu_field64(void __percpu *mib, int cpu, int offt,
@@ -1726,9 +1726,9 @@ u64 snmp_get_cpu_field64(void __percpu *mib, int cpu, int offt,
bhptr = per_cpu_ptr(mib, cpu);
syncp = (struct u64_stats_sync *)(bhptr + syncp_offset);
do {
@ -326,7 +326,7 @@ index 17a1b731a76b..2be696513629 100644
seq_printf(seq, "%3X %8LX %8LX %8LX %16LX %16LX\n",
i, (u64)conns, (u64)inpkts,
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 05fa5141af51..ab1888991ae5 100644
index 3d6ebb9877a4..0e237f0356ae 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -1692,10 +1692,10 @@ static int nft_dump_stats(struct sk_buff *skb, struct nft_stats __percpu *stats)

View File

@ -1,4 +1,4 @@
From b8cff7d0320e3b39f098d9562373e1c16c54c46c Mon Sep 17 00:00:00 2001
From 9350167d72e9692f289b2569b6f24da0b894aac6 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Aug 2022 16:17:57 +0200
Subject: [PATCH 07/62] bpf: Remove the obsolte u64_stats_fetch_*_irq() users.

View File

@ -1,4 +1,4 @@
From b908a7b47d95003c498f2f575285f528148602d6 Mon Sep 17 00:00:00 2001
From cf6d7ad80beb2d90140c212f8ccd32197e0eccdb Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Aug 2022 16:43:46 +0200
Subject: [PATCH 08/62] u64_stat: Remove the obsolete fetch_irq() variants.

View File

@ -1,4 +1,4 @@
From c910f301d71266e18f63407ec6c65d19ae90e779 Mon Sep 17 00:00:00 2001
From 37205f0ce3bef04671d958f03e1460dcaeed41b7 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 15 Aug 2022 17:29:50 +0200
Subject: [PATCH 09/62] net: Avoid the IPI to free the
@ -40,10 +40,10 @@ index 0373e0935990..55d698367883 100644
static inline void input_queue_head_incr(struct softnet_data *sd)
diff --git a/net/core/dev.c b/net/core/dev.c
index 070039f9296c..a3caa23be3cf 100644
index 29ae6265a408..6a13043ff0f3 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4618,15 +4618,6 @@ static void rps_trigger_softirq(void *data)
@@ -4621,15 +4621,6 @@ static void rps_trigger_softirq(void *data)
#endif /* CONFIG_RPS */
@ -59,7 +59,7 @@ index 070039f9296c..a3caa23be3cf 100644
/*
* Check if this softnet_data structure is another cpu one
* If yes, queue it to our IPI list and return 1
@@ -6684,6 +6675,30 @@ static void skb_defer_free_flush(struct softnet_data *sd)
@@ -6687,6 +6678,30 @@ static void skb_defer_free_flush(struct softnet_data *sd)
}
}
@ -90,7 +90,7 @@ index 070039f9296c..a3caa23be3cf 100644
static __latent_entropy void net_rx_action(struct softirq_action *h)
{
struct softnet_data *sd = this_cpu_ptr(&softnet_data);
@@ -11435,7 +11450,11 @@ static int __init net_dev_init(void)
@@ -11438,7 +11453,11 @@ static int __init net_dev_init(void)
INIT_CSD(&sd->csd, rps_trigger_softirq, sd);
sd->cpu = i;
#endif
@ -103,10 +103,10 @@ index 070039f9296c..a3caa23be3cf 100644
init_gro_hash(&sd->backlog);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 73b1e0e53534..a457a3445469 100644
index 8a819d0a7bfb..424ad963fa0c 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -6680,6 +6680,11 @@ nodefer: __kfree_skb(skb);
@@ -6682,6 +6682,11 @@ nodefer: __kfree_skb(skb);
/* Make sure to trigger NET_RX_SOFTIRQ on the remote CPU
* if we are unlucky enough (this seems very unlikely).
*/

View File

@ -1,4 +1,4 @@
From ce04e41eb149fcd93a71b63a605423d7f18ec8b4 Mon Sep 17 00:00:00 2001
From bd3f264eeb33c0602b3f9d66a603e5a2e8f9d9ee Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 7 Aug 2019 18:15:38 +0200
Subject: [PATCH 10/62] x86: Allow to enable RT

View File

@ -1,4 +1,4 @@
From 28dbe0fc30a2d3e519fac1ffe18fe7427f1f49b3 Mon Sep 17 00:00:00 2001
From 4c22c4a6e79603a30f6b875c8fd65efdad35ac8f Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 7 Nov 2019 17:49:20 +0100
Subject: [PATCH 11/62] x86: Enable RT also on 32bit

View File

@ -1,4 +1,4 @@
From 454343a4f08e5de772024588aec2bd396177ee89 Mon Sep 17 00:00:00 2001
From d2864e2d892720940d5a3acb606abcc10089bd73 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 1 Dec 2021 17:41:09 +0100
Subject: [PATCH 12/62] softirq: Use a dedicated thread for timer wakeups.

View File

@ -1,4 +1,4 @@
From a10aa54ef224bbd46ca1777e4b9fe960360961cc Mon Sep 17 00:00:00 2001
From f760da57a984738f88b96dfa5edb89d0723901ca Mon Sep 17 00:00:00 2001
From: Frederic Weisbecker <frederic@kernel.org>
Date: Tue, 5 Apr 2022 03:07:51 +0200
Subject: [PATCH 13/62] rcutorture: Also force sched priority to timersd on

View File

@ -1,4 +1,4 @@
From ae3e63c4320c0c2d3865ba8ecff64a6d03948ce7 Mon Sep 17 00:00:00 2001
From 9220b21155b9f55725886fb46c85df7ee0288ce0 Mon Sep 17 00:00:00 2001
From: Frederic Weisbecker <frederic@kernel.org>
Date: Tue, 5 Apr 2022 03:07:52 +0200
Subject: [PATCH 14/62] tick: Fix timer storm since introduction of timersd

View File

@ -1,4 +1,4 @@
From ca98adaa69af0a5f3bb28cccb6543ee3e0c4a23f Mon Sep 17 00:00:00 2001
From 7c8c231b4a43dd06e6c90d5c820342ee3f8e9130 Mon Sep 17 00:00:00 2001
From: Junxiao Chang <junxiao.chang@intel.com>
Date: Mon, 20 Feb 2023 09:12:20 +0100
Subject: [PATCH 15/62] softirq: Wake ktimers thread also in softirq.

View File

@ -1,4 +1,4 @@
From 87e5c70f401b5230b5125dedc88e10f54909a37e Mon Sep 17 00:00:00 2001
From a61678645efc9d4aa757b038d91bbef571c3ba17 Mon Sep 17 00:00:00 2001
From: Haris Okanovic <haris.okanovic@ni.com>
Date: Tue, 15 Aug 2017 15:13:08 -0500
Subject: [PATCH 16/62] tpm_tis: fix stall after iowrite*()s

View File

@ -1,4 +1,4 @@
From 8397109d43ef57d5e91d738354b9c30f49cb2f95 Mon Sep 17 00:00:00 2001
From 5881f1272a6bf4dc4c7553942f95fa850416700c Mon Sep 17 00:00:00 2001
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Thu, 31 Mar 2016 04:08:28 +0200
Subject: [PATCH 17/62] zram: Replace bit spinlocks with spinlock_t for

View File

@ -1,4 +1,4 @@
From dd162e2589601c792a81a3c19ef4a87510ed6ce5 Mon Sep 17 00:00:00 2001
From 0b833bd5bb0c55f681cf80dc6eaf59ab1cea7b51 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Mar 2022 17:44:57 +0100
Subject: [PATCH 18/62] locking/lockdep: Remove lockdep_init_map_crosslock.

View File

@ -1,4 +1,4 @@
From dd4e52ae061806da556008ca819481befcff0fd3 Mon Sep 17 00:00:00 2001
From 353209a61511cccc1372d883ffe41fcff355055b Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Jul 2022 20:08:01 +0200
Subject: [PATCH 19/62] printk: Bring back the RT bits.

View File

@ -1,4 +1,4 @@
From 18343f23a5f1d466a0c74806983066efba932d5d Mon Sep 17 00:00:00 2001
From 30f2ae30ddb074556a0f9a9a6bcc4bb071d7ea12 Mon Sep 17 00:00:00 2001
From: John Ogness <john.ogness@linutronix.de>
Date: Fri, 4 Feb 2022 16:01:17 +0106
Subject: [PATCH 20/62] printk: add infrastucture for atomic consoles

View File

@ -1,4 +1,4 @@
From 08b8c0b589806331dc645a8ead6be51c174d93e0 Mon Sep 17 00:00:00 2001
From eda5ed51c656510b41e8003537c4c101dd18e51f Mon Sep 17 00:00:00 2001
From: John Ogness <john.ogness@linutronix.de>
Date: Fri, 4 Feb 2022 16:01:17 +0106
Subject: [PATCH 21/62] serial: 8250: implement write_atomic

View File

@ -1,4 +1,4 @@
From a549c0dff2a1a3b11b40abc969358d8cb367871d Mon Sep 17 00:00:00 2001
From ca6770a982bcd5497cd057b5e0a8126c2e589a14 Mon Sep 17 00:00:00 2001
From: John Ogness <john.ogness@linutronix.de>
Date: Fri, 4 Feb 2022 16:01:17 +0106
Subject: [PATCH 22/62] printk: avoid preempt_disable() for PREEMPT_RT

View File

@ -1,4 +1,4 @@
From f99a0874dccc1ba9f9ead4473ba09603d10946b4 Mon Sep 17 00:00:00 2001
From b309895649470ce9b30b47fb3e9e33e31adcc4b6 Mon Sep 17 00:00:00 2001
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sat, 27 Feb 2016 08:09:11 +0100
Subject: [PATCH 23/62] drm/i915: Use preempt_disable/enable_rt() where

View File

@ -1,4 +1,4 @@
From 7540de1a42a1a7409b4367b67c76480f7e96d25b Mon Sep 17 00:00:00 2001
From 725cdc8f12a18ee15bbc8eb0f44927a324e78f93 Mon Sep 17 00:00:00 2001
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sat, 27 Feb 2016 09:01:42 +0100
Subject: [PATCH 24/62] drm/i915: Don't disable interrupts on PREEMPT_RT during

View File

@ -1,4 +1,4 @@
From d9970290d810087f44a37de7ae6f3638ecddd3a0 Mon Sep 17 00:00:00 2001
From d181bdd855737341003e6ac7db7567d90676ac22 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 25 Oct 2021 15:05:18 +0200
Subject: [PATCH 25/62] drm/i915: Don't check for atomic context on PREEMPT_RT

View File

@ -1,4 +1,4 @@
From 05b1ad300df55e576476a0dee533c90068480372 Mon Sep 17 00:00:00 2001
From 208d88c07a8b47060be80f0961d6a053e6eb0431 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 6 Dec 2018 09:52:20 +0100
Subject: [PATCH 26/62] drm/i915: Disable tracing points on PREEMPT_RT

View File

@ -1,4 +1,4 @@
From 1fcbddeff5b9a56382a6ba0aba49578f8cdf9aa4 Mon Sep 17 00:00:00 2001
From bbf258f5b754b9859e44f5ae0985d4b8909fa9ae Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 19 Dec 2018 10:47:02 +0100
Subject: [PATCH 27/62] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with

View File

@ -1,4 +1,4 @@
From 6dfc680fe2808eaf10a9feed7e3116df60b6032f Mon Sep 17 00:00:00 2001
From 589f8c2efbc1aced239e26520595ec4badd2439a Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 8 Sep 2021 17:18:00 +0200
Subject: [PATCH 28/62] drm/i915/gt: Queue and wait for the irq_work item.

View File

@ -1,4 +1,4 @@
From 6ca6d59038e0a61a7bb4904310525b1df57a2867 Mon Sep 17 00:00:00 2001
From 5ed1df3d31e740525b94136c575967e54b2f46b9 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 8 Sep 2021 19:03:41 +0200
Subject: [PATCH 29/62] drm/i915/gt: Use spin_lock_irq() instead of

View File

@ -1,4 +1,4 @@
From 6779399c1acfc91f6e9b0bd4dc4abb4f3cb30c78 Mon Sep 17 00:00:00 2001
From 2bc2145c2bb1269adaf808b2204542ef2f1ca602 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 1 Oct 2021 20:01:03 +0200
Subject: [PATCH 30/62] drm/i915: Drop the irqs_disabled() check

View File

@ -1,4 +1,4 @@
From fe8c8e1f1ec5c61814ee0c4c90a2cef9d35ecad6 Mon Sep 17 00:00:00 2001
From 141420c658c028a9ead177b6313cdaad0eff61ab Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 21 Feb 2022 17:59:14 +0100
Subject: [PATCH 31/62] Revert "drm/i915: Depend on !PREEMPT_RT."

View File

@ -1,4 +1,4 @@
From 87194c420f8ef3b1a8b9b63ae640180e2414e8c4 Mon Sep 17 00:00:00 2001
From fc4755c31f7adcf012556bfc2db7e84c78aa0ad2 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 26 Oct 2012 18:50:54 +0100
Subject: [PATCH 32/62] sched: Add support for lazy preemption
@ -556,10 +556,10 @@ index b62d53d7c264..f2577f511a41 100644
extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime);
extern bool sched_rt_bandwidth_account(struct rt_rq *rt_rq);
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 87eca95b57fb..462564d652be 100644
index deae65af76ec..edf0407d5498 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2616,11 +2616,19 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status)
@@ -2630,11 +2630,19 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status)
if (softirq_count() >> (SOFTIRQ_SHIFT + 1))
trace_flags |= TRACE_FLAG_BH_OFF;
@ -581,7 +581,7 @@ index 87eca95b57fb..462564d652be 100644
(min_t(unsigned int, migration_disable_value(), 0xf)) << 4;
}
@@ -4212,15 +4220,17 @@ unsigned long trace_total_entries(struct trace_array *tr)
@@ -4226,15 +4234,17 @@ unsigned long trace_total_entries(struct trace_array *tr)
static void print_lat_help_header(struct seq_file *m)
{
@ -608,7 +608,7 @@ index 87eca95b57fb..462564d652be 100644
}
static void print_event_info(struct array_buffer *buf, struct seq_file *m)
@@ -4254,14 +4264,16 @@ static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file
@@ -4268,14 +4278,16 @@ static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file
print_event_info(buf, m);

View File

@ -1,4 +1,4 @@
From 37719a07083b68dad1449227e9fe66e8e6c9f2b6 Mon Sep 17 00:00:00 2001
From 4a7f3d980fdfa78e88ce38e493b5d39384f35079 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 30 Jun 2020 11:45:14 +0200
Subject: [PATCH 33/62] x86/entry: Use should_resched() in

View File

@ -1,4 +1,4 @@
From 65ce5ba8ccb26e6de364e76228e645b2c02b921d Mon Sep 17 00:00:00 2001
From b73c9a31ab7a5c00891726ff9d5da0297243d335 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Nov 2012 11:03:47 +0100
Subject: [PATCH 34/62] x86: Support for lazy preemption

View File

@ -1,4 +1,4 @@
From d37c604152cbded61a8e107918d3b9950725d897 Mon Sep 17 00:00:00 2001
From a17c5b9f7e3fef4ab8b0a87fa33e6c89f6c89cba Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 13 Jul 2021 07:52:52 +0200
Subject: [PATCH 35/62] entry: Fix the preempt lazy fallout

View File

@ -1,4 +1,4 @@
From f242fbbb3f85d6b9c8c8fc06ddbc83b9ca5a0511 Mon Sep 17 00:00:00 2001
From 93b892ee12b8eb43a72f308c981f3c68c6ae8b45 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 31 Oct 2012 12:04:11 +0100
Subject: [PATCH 36/62] arm: Add support for lazy preemption

View File

@ -1,4 +1,4 @@
From 65e31d7b980c1413f19fcb84234387f97b09588f Mon Sep 17 00:00:00 2001
From 27570b59eda95f93f62c30d343f9c913a9d2a137 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Nov 2012 10:14:11 +0100
Subject: [PATCH 37/62] powerpc: Add support for lazy preemption

View File

@ -1,4 +1,4 @@
From 12a36ad989490f5ae3ed6a50d764385e8e27e024 Mon Sep 17 00:00:00 2001
From 87fb6813fa0a5ecff7fd2c657b37cfe97733ae90 Mon Sep 17 00:00:00 2001
From: Anders Roxell <anders.roxell@linaro.org>
Date: Thu, 14 May 2015 17:52:17 +0200
Subject: [PATCH 38/62] arch/arm64: Add lazy preempt support

View File

@ -1,4 +1,4 @@
From f1c0950a69e46ee1d45192bfae026622da60bdc8 Mon Sep 17 00:00:00 2001
From 16d22e88a2c9122e0cc5441e29a3b64bafb9c560 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Jul 2015 17:14:48 +0200
Subject: [PATCH 39/62] arm: Disable jump-label on PREEMPT_RT.

View File

@ -1,4 +1,4 @@
From 802d6978bf4ebdec28d2ba4e715c2e414d9c7d06 Mon Sep 17 00:00:00 2001
From a376cccfd403c8321d9a03bb8749d805377434a5 Mon Sep 17 00:00:00 2001
From: "Yadi.hu" <yadi.hu@windriver.com>
Date: Wed, 10 Dec 2014 10:32:09 +0800
Subject: [PATCH 40/62] ARM: enable irq in translation/section permission fault

View File

@ -1,4 +1,4 @@
From 2a89ee21ea5c408b560839cc06bd0c13580fb3a4 Mon Sep 17 00:00:00 2001
From 3d0d89a1306c53973cc898d6e003e18826cee219 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 28 Jul 2011 13:32:57 +0200
Subject: [PATCH 41/62] tty/serial/omap: Make the locking RT aware

View File

@ -1,4 +1,4 @@
From 1db3dc8a6af68447b52efbbf8dbb4d210d23d57b Mon Sep 17 00:00:00 2001
From 9d7551c43f81729a91f4b95812918e034efcbeb9 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 8 Jan 2013 21:36:51 +0100
Subject: [PATCH 42/62] tty/serial/pl011: Make the locking work on RT

View File

@ -1,4 +1,4 @@
From 47c9956482a592a16b58831ded27e3c0f62ec11d Mon Sep 17 00:00:00 2001
From cc0f3bc0e7a996dcd926b3dd93321e450acc18a1 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2019 13:14:29 +0200
Subject: [PATCH 43/62] ARM: Allow to enable RT

View File

@ -1,4 +1,4 @@
From c71e1e0561e008bb2fe230ad7022c3e2483cd6c0 Mon Sep 17 00:00:00 2001
From 9a9d2b06c531f9499ccce07ac714809c79ec09bd Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2019 13:14:35 +0200
Subject: [PATCH 44/62] ARM64: Allow to enable RT

View File

@ -1,4 +1,4 @@
From 4d7273bd07600b933e6d25807cd96df04e435cbe Mon Sep 17 00:00:00 2001
From f2b6a46898eb5d854b8e1dfabbbc720dfb77c828 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 26 Jul 2019 11:30:49 +0200
Subject: [PATCH 45/62] powerpc: traps: Use PREEMPT_RT

View File

@ -1,4 +1,4 @@
From 1d20f49e62250211b43cbe18a087fdf19c313081 Mon Sep 17 00:00:00 2001
From 568f517f60a2278ce951e4c406c2b1a23b023276 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Mar 2019 18:31:54 +0100
Subject: [PATCH 46/62] powerpc/pseries/iommu: Use a locallock instead

View File

@ -1,4 +1,4 @@
From 34f52991170848510810b486dd6fe9a19cbe4c46 Mon Sep 17 00:00:00 2001
From 25919ff22be6046704419c17a2a3ac3741966999 Mon Sep 17 00:00:00 2001
From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Date: Fri, 24 Apr 2015 15:53:13 +0000
Subject: [PATCH 47/62] powerpc/kvm: Disable in-kernel MPIC emulation for

View File

@ -1,4 +1,4 @@
From d2e9a96e5570459dd886f87bf81c7714fb0a2108 Mon Sep 17 00:00:00 2001
From 0e1e4be3ae95cb72855c0223b4ff5f52adec395c Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Mar 2019 18:31:29 +0100
Subject: [PATCH 48/62] powerpc/stackprotector: work around stack-guard init

View File

@ -1,4 +1,4 @@
From 93941796079cb4515170adf454f9218adc89856d Mon Sep 17 00:00:00 2001
From b7e6efc63764062b7a173464a382d773a08b0b65 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2019 13:14:41 +0200
Subject: [PATCH 49/62] POWERPC: Allow to enable RT

View File

@ -1,4 +1,4 @@
From b2103f830327ab5d1e6f49134c22d3c5adfb52cc Mon Sep 17 00:00:00 2001
From 1099e2c72fb3792fe5e5d04f99b0c7911ea66b73 Mon Sep 17 00:00:00 2001
From: Clark Williams <williams@redhat.com>
Date: Sat, 30 Jul 2011 21:55:53 -0500
Subject: [PATCH 50/62] sysfs: Add /sys/kernel/realtime entry

View File

@ -1,4 +1,4 @@
From 9c7d6e723acbbc184d1dd04811863378699134fb Mon Sep 17 00:00:00 2001
From 07e415a26d8241d7a40d9bdc7741f58dbd46d606 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 8 Jul 2011 20:25:16 +0200
Subject: [PATCH 51/62] Add localversion for -RT release

View File

@ -1,4 +1,4 @@
From 3f783498b292a814f8f364bbfd0efbfc1be6d30f Mon Sep 17 00:00:00 2001
From cc2be4ec82b6c49240b861a11de8c4336501dc09 Mon Sep 17 00:00:00 2001
From: Clark Williams <clrkwllms@kernel.org>
Date: Fri, 18 Aug 2023 10:45:35 -0500
Subject: [PATCH 52/62] 'Linux 6.1.46-rt13 REBASE'

View File

@ -1,4 +1,4 @@
From 53c6a09e670e985d37ca05785a0155ab51b49cf4 Mon Sep 17 00:00:00 2001
From be70bbd4d08f00c845633614925c0b126f11a30a Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 10 Mar 2023 17:29:05 +0100
Subject: [PATCH 53/62] io-mapping: don't disable preempt on RT in

View File

@ -1,4 +1,4 @@
From 8785dde5198dc91cbb518044e1c6d301ef9a9857 Mon Sep 17 00:00:00 2001
From 23249660cee29a01660c4518a3046dfba2b7199c Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 21 Mar 2023 17:11:40 +0100
Subject: [PATCH 54/62] locking/rwbase: Mitigate indefinite writer starvation

View File

@ -1,4 +1,4 @@
From fcdb9b29c6d58895a386ac23229564fad2c316b5 Mon Sep 17 00:00:00 2001
From f30dbde350cc4692abd4d2cb48a88913d94edf7d Mon Sep 17 00:00:00 2001
From: Paolo Abeni <pabeni@redhat.com>
Date: Mon, 8 May 2023 08:17:44 +0200
Subject: [PATCH 55/62] revert: "softirq: Let ksoftirqd do its job"

View File

@ -1,4 +1,4 @@
From c082e5d28e56252dca01b53c553bba5cd152fec1 Mon Sep 17 00:00:00 2001
From 4937a4dc4d39cff4badeb727c8d6c1ecf4422a0d Mon Sep 17 00:00:00 2001
From: Peter Zijlstra <peterz@infradead.org>
Date: Tue, 25 Apr 2023 17:03:13 +0200
Subject: [PATCH 56/62] debugobjects,locking: Annotate debug_object_fill_pool()

View File

@ -1,4 +1,4 @@
From 5c27e6fdf46d68180a46fdf7944aa7e4668680c3 Mon Sep 17 00:00:00 2001
From 65a646612737cf862237312fd88afc0b0b6954d8 Mon Sep 17 00:00:00 2001
From: Wander Lairson Costa <wander@redhat.com>
Date: Wed, 14 Jun 2023 09:23:22 -0300
Subject: [PATCH 57/62] sched: avoid false lockdep splat in put_task_struct()

View File

@ -1,4 +1,4 @@
From 9512a9467dec62e03f2df4f15af9a38332b8de58 Mon Sep 17 00:00:00 2001
From 295da0c59de4794e746f56b1567e3188f9addc00 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 23 Jun 2023 22:15:17 +0200
Subject: [PATCH 58/62] mm/page_alloc: Use write_seqlock_irqsave() instead

View File

@ -1,4 +1,4 @@
From 05999b640eb04be872e5491a040701fcddc73349 Mon Sep 17 00:00:00 2001
From 88ec5664a42344c84c246d13dd726a4cbe2d9e8d Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Jun 2023 10:34:30 +0200
Subject: [PATCH 59/62] bpf: Remove in_atomic() from bpf_link_put().

View File

@ -1,4 +1,4 @@
From a0d2c56749857956cb8ef1ccf2d982e2c1770f08 Mon Sep 17 00:00:00 2001
From 9bd94469a4ea8355cd39603280261eeff2cd0579 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Jun 2023 20:58:47 +0200
Subject: [PATCH 60/62] posix-timers: Ensure timer ID search-loop limit is

View File

@ -1,4 +1,4 @@
From 1d651fe6c67cb3b355cc228f75289657496520ff Mon Sep 17 00:00:00 2001
From e55c680ca3b29815a9cf95135011b72fb216b57b Mon Sep 17 00:00:00 2001
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date: Fri, 18 Aug 2023 22:45:25 -0400
Subject: [PATCH 61/62] drm/i915: Do not disable preemption for resets

View File

@ -1,7 +1,7 @@
From 8aa6a280fc011cccf7cfcc0f5942e3ec6bdd73b4 Mon Sep 17 00:00:00 2001
From 46b774fa9eeafe90be6439cda8a8fe7409ee6860 Mon Sep 17 00:00:00 2001
From: Clark Williams <clark.williams@gmail.com>
Date: Thu, 28 Dec 2023 23:45:11 -0600
Subject: [PATCH 62/62] Linux 6.1.69-rt21 REBASE
Date: Thu, 18 Jan 2024 14:01:50 -0600
Subject: [PATCH 62/62] Linux 6.1.73-rt22 REBASE
Signed-off-by: Clark Williams <clark.williams@gmail.com>
---
@ -9,12 +9,12 @@ Signed-off-by: Clark Williams <clark.williams@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/localversion-rt b/localversion-rt
index 9f7d0bdbffb1..6c6cde1c29e3 100644
index 9f7d0bdbffb1..c29508d21914 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt13
+-rt21
+-rt22
--
2.43.0

View File

@ -1,252 +0,0 @@
From 8ee26220281bc5bbb6a2b72ab0cf5a2f120b1afa Mon Sep 17 00:00:00 2001
From: Alexander Larsson <alexl@redhat.com>
Date: Wed, 29 Nov 2023 10:57:42 +0100
Subject: [PATCH] quadlet: Support systemd style dropin files
For a source file like `foo.container`, look for drop in named
`foo.container.d/*.conf` and merged them into the main file. The
dropins are applied in alphabetical order, and files in earlier
diretories override later files with same name.
This is similar to how systemd dropins work, see:
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html
Also adds some tests for these
Signed-off-by: Alexander Larsson <alexl@redhat.com>
---
cmd/quadlet/main.go | 67 +++++++++++++++++++
docs/source/markdown/podman-systemd.unit.5.md | 7 ++
pkg/systemd/parser/unitfile.go | 4 +-
test/e2e/quadlet/merged-override.container | 8 +++
.../merged-override.container.d/10-first.conf | 2 +
.../20-second.conf | 4 ++
test/e2e/quadlet/merged.container | 8 +++
.../quadlet/merged.container.d/10-first.conf | 2 +
.../quadlet/merged.container.d/20-second.conf | 2 +
test/e2e/quadlet_test.go | 12 ++++
10 files changed, 114 insertions(+), 2 deletions(-)
create mode 100644 test/e2e/quadlet/merged-override.container
create mode 100644 test/e2e/quadlet/merged-override.container.d/10-first.conf
create mode 100644 test/e2e/quadlet/merged-override.container.d/20-second.conf
create mode 100644 test/e2e/quadlet/merged.container
create mode 100644 test/e2e/quadlet/merged.container.d/10-first.conf
create mode 100644 test/e2e/quadlet/merged.container.d/20-second.conf
diff --git a/cmd/quadlet/main.go b/cmd/quadlet/main.go
index b36997b32a73..9c032427b0a4 100644
--- a/cmd/quadlet/main.go
+++ b/cmd/quadlet/main.go
@@ -242,6 +242,67 @@ func loadUnitsFromDir(sourcePath string) ([]*parser.UnitFile, error) {
return units, prevError
}
+func loadUnitDropins(unit *parser.UnitFile, sourcePaths []string) error {
+ var prevError error
+ reportError := func(err error) {
+ if prevError != nil {
+ err = fmt.Errorf("%s\n%s", prevError, err)
+ }
+ prevError = err
+ }
+
+ var dropinPaths = make(map[string]string)
+ for _, sourcePath := range sourcePaths {
+ dropinDir := path.Join(sourcePath, unit.Filename+".d")
+
+ dropinFiles, err := os.ReadDir(dropinDir)
+ if err != nil {
+ if !errors.Is(err, os.ErrNotExist) {
+ reportError(fmt.Errorf("error reading directory %q, %w", dropinDir, err))
+ }
+
+ continue
+ }
+
+ for _, dropinFile := range dropinFiles {
+ dropinName := dropinFile.Name()
+ if filepath.Ext(dropinName) != ".conf" {
+ continue // Only *.conf supported
+ }
+
+ if _, ok := dropinPaths[dropinName]; ok {
+ continue // We already saw this name
+ }
+
+ dropinPaths[dropinName] = path.Join(dropinDir, dropinName)
+ }
+ }
+
+ dropinFiles := make([]string, len(dropinPaths))
+ i := 0
+ for k := range dropinPaths {
+ dropinFiles[i] = k
+ i++
+ }
+
+ // Merge in alpha-numerical order
+ sort.Strings(dropinFiles)
+
+ for _, dropinFile := range dropinFiles {
+ dropinPath := dropinPaths[dropinFile]
+
+ Debugf("Loading source drop-in file %s", dropinPath)
+
+ if f, err := parser.ParseUnitFile(dropinPath); err != nil {
+ reportError(fmt.Errorf("error loading %q, %w", dropinPath, err))
+ } else {
+ unit.Merge(f)
+ }
+ }
+
+ return prevError
+}
+
func generateServiceFile(service *parser.UnitFile) error {
Debugf("writing %q", service.Path)
@@ -456,6 +517,12 @@ func process() error {
return prevError
}
+ for _, unit := range units {
+ if err := loadUnitDropins(unit, sourcePaths); err != nil {
+ reportError(err)
+ }
+ }
+
if !dryRunFlag {
err := os.MkdirAll(outputPath, os.ModePerm)
if err != nil {
diff --git a/docs/source/markdown/podman-systemd.unit.5.md b/docs/source/markdown/podman-systemd.unit.5.md
index 8101338a56b6..4969a84aca7b 100644
--- a/docs/source/markdown/podman-systemd.unit.5.md
+++ b/docs/source/markdown/podman-systemd.unit.5.md
@@ -47,6 +47,13 @@ Each file type has a custom section (for example, `[Container]`) that is handled
other sections are passed on untouched, allowing the use of any normal systemd configuration options
like dependencies or cgroup limits.
+The source files also support drop-ins in the same [way systemd does](https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html).
+For a given source file (say `foo.container`), the corresponding `.d`directory (in this
+case `foo.container.d`) will be scanned for files with a `.conf` extension that are merged into
+the base file in alphabetical order. The format of these drop-in files is the same as the base file.
+This is useful to alter or add configuration settings for a unit, without having to modify unit
+files.
+
For rootless containers, when administrators place Quadlet files in the
/etc/containers/systemd/users directory, all users' sessions execute the
Quadlet when the login session begins. If the administrator places a Quadlet
diff --git a/pkg/systemd/parser/unitfile.go b/pkg/systemd/parser/unitfile.go
index 963909f9d876..732daa2be4fb 100644
--- a/pkg/systemd/parser/unitfile.go
+++ b/pkg/systemd/parser/unitfile.go
@@ -182,7 +182,7 @@ func (f *UnitFile) ensureGroup(groupName string) *unitGroup {
return g
}
-func (f *UnitFile) merge(source *UnitFile) {
+func (f *UnitFile) Merge(source *UnitFile) {
for _, srcGroup := range source.groups {
group := f.ensureGroup(srcGroup.name)
group.merge(srcGroup)
@@ -193,7 +193,7 @@ func (f *UnitFile) merge(source *UnitFile) {
func (f *UnitFile) Dup() *UnitFile {
copy := NewUnitFile()
- copy.merge(f)
+ copy.Merge(f)
copy.Filename = f.Filename
return copy
}
diff --git a/test/e2e/quadlet/merged-override.container b/test/e2e/quadlet/merged-override.container
new file mode 100644
index 000000000000..d93a53b340a9
--- /dev/null
+++ b/test/e2e/quadlet/merged-override.container
@@ -0,0 +1,8 @@
+## assert-podman-final-args localhost/imagename
+## !assert-podman-args --env "MAIN=mainvalue"
+## !assert-podman-args --env "FIRST=value"
+## assert-podman-args --env "SECOND=othervalue"
+
+[Container]
+Image=localhost/imagename
+Environment=MAIN=mainvalue
diff --git a/test/e2e/quadlet/merged-override.container.d/10-first.conf b/test/e2e/quadlet/merged-override.container.d/10-first.conf
new file mode 100644
index 000000000000..f6164d631e05
--- /dev/null
+++ b/test/e2e/quadlet/merged-override.container.d/10-first.conf
@@ -0,0 +1,2 @@
+[Container]
+Environment=FIRST=value
diff --git a/test/e2e/quadlet/merged-override.container.d/20-second.conf b/test/e2e/quadlet/merged-override.container.d/20-second.conf
new file mode 100644
index 000000000000..5bfcdd44dcc8
--- /dev/null
+++ b/test/e2e/quadlet/merged-override.container.d/20-second.conf
@@ -0,0 +1,4 @@
+[Container]
+# Empty previous
+Environment=
+Environment=SECOND=othervalue
diff --git a/test/e2e/quadlet/merged.container b/test/e2e/quadlet/merged.container
new file mode 100644
index 000000000000..3d19987fd0ca
--- /dev/null
+++ b/test/e2e/quadlet/merged.container
@@ -0,0 +1,8 @@
+## assert-podman-final-args localhost/imagename
+## assert-podman-args --env "MAIN=mainvalue"
+## assert-podman-args --env "FIRST=value"
+## assert-podman-args --env "SECOND=othervalue"
+
+[Container]
+Image=localhost/imagename
+Environment=MAIN=mainvalue
diff --git a/test/e2e/quadlet/merged.container.d/10-first.conf b/test/e2e/quadlet/merged.container.d/10-first.conf
new file mode 100644
index 000000000000..f6164d631e05
--- /dev/null
+++ b/test/e2e/quadlet/merged.container.d/10-first.conf
@@ -0,0 +1,2 @@
+[Container]
+Environment=FIRST=value
diff --git a/test/e2e/quadlet/merged.container.d/20-second.conf b/test/e2e/quadlet/merged.container.d/20-second.conf
new file mode 100644
index 000000000000..f1dcaa61fc93
--- /dev/null
+++ b/test/e2e/quadlet/merged.container.d/20-second.conf
@@ -0,0 +1,2 @@
+[Container]
+Environment=SECOND=othervalue
diff --git a/test/e2e/quadlet_test.go b/test/e2e/quadlet_test.go
index ad3061f4cdd2..c9c43d284971 100644
--- a/test/e2e/quadlet_test.go
+++ b/test/e2e/quadlet_test.go
@@ -664,6 +664,16 @@ BOGUS=foo
err = os.WriteFile(filepath.Join(quadletDir, fileName), testcase.data, 0644)
Expect(err).ToNot(HaveOccurred())
+ // Also copy any extra snippets
+ dotdDir := filepath.Join("quadlet", fileName+".d")
+ if s, err := os.Stat(dotdDir); err == nil && s.IsDir() {
+ dotdDirDest := filepath.Join(quadletDir, fileName+".d")
+ err = os.Mkdir(dotdDirDest, os.ModePerm)
+ Expect(err).ToNot(HaveOccurred())
+ err = CopyDirectory(dotdDir, dotdDirDest)
+ Expect(err).ToNot(HaveOccurred())
+ }
+
// Run quadlet to convert the file
session := podmanTest.Quadlet([]string{"--user", "--no-kmsg-log", generatedDir}, quadletDir)
session.WaitWithDefaultTimeout()
@@ -748,6 +758,8 @@ BOGUS=foo
Entry("workingdir.container", "workingdir.container", 0, ""),
Entry("Container - global args", "globalargs.container", 0, ""),
Entry("Container - Containers Conf Modules", "containersconfmodule.container", 0, ""),
+ Entry("merged.container", "merged.container", 0, ""),
+ Entry("merged-override.container", "merged-override.container", 0, ""),
Entry("basic.volume", "basic.volume", 0, ""),
Entry("device-copy.volume", "device-copy.volume", 0, ""),

View File

@ -1,78 +0,0 @@
From 6cb2f9b1225ade1248ed954e5e03fea9ff279730 Mon Sep 17 00:00:00 2001
From: Alex Palaistras <alex@deuill.org>
Date: Sat, 18 Nov 2023 21:37:00 +0000
Subject: [PATCH] quadlet: Support `healthy` for `Notify` directives
This expands support for the (previously) boolean `Notify` directive, in
support of healthcheck determined SD-NOTIFY event emission, as
supported by Podman with the `--sdnotify=healthy` option.
Closes: #18189
Signed-off-by: Alex Palaistras <alex@deuill.org>
---
docs/source/markdown/podman-systemd.unit.5.md | 4 ++++
pkg/systemd/quadlet/quadlet.go | 9 ++++++---
test/e2e/quadlet/notify-healthy.container | 5 +++++
test/e2e/quadlet_test.go | 1 +
4 files changed, 16 insertions(+), 3 deletions(-)
create mode 100644 test/e2e/quadlet/notify-healthy.container
diff --git a/docs/source/markdown/podman-systemd.unit.5.md b/docs/source/markdown/podman-systemd.unit.5.md
index 79659ded24fa..01ca6293a0f7 100644
--- a/docs/source/markdown/podman-systemd.unit.5.md
+++ b/docs/source/markdown/podman-systemd.unit.5.md
@@ -496,6 +496,10 @@ starts the child in the container. However, if the container application support
`Notify` to true passes the notification details to the container allowing it to notify
of startup on its own.
+In addition, setting `Notify` to `healthy` will postpone startup notifications until such time as
+the container is marked healthy, as determined by Podman healthchecks. Note that this requires
+setting up a container healthcheck, see the `HealthCmd` option for more.
+
### `PidsLimit=`
Tune the container's pids limit.
diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go
index 26e1745b1e98..3328087900d6 100644
--- a/pkg/systemd/quadlet/quadlet.go
+++ b/pkg/systemd/quadlet/quadlet.go
@@ -496,10 +496,13 @@ func ConvertContainer(container *parser.UnitFile, names map[string]string, isUse
if serviceType != "oneshot" {
// If we're not in oneshot mode always use some form of sd-notify, normally via conmon,
// but we also allow passing it to the container by setting Notify=yes
- notify := container.LookupBooleanWithDefault(ContainerGroup, KeyNotify, false)
- if notify {
+ notify, ok := container.Lookup(ContainerGroup, KeyNotify)
+ switch {
+ case ok && strings.EqualFold(notify, "healthy"):
+ podman.add("--sdnotify=healthy")
+ case container.LookupBooleanWithDefault(ContainerGroup, KeyNotify, false):
podman.add("--sdnotify=container")
- } else {
+ default:
podman.add("--sdnotify=conmon")
}
service.Setv(ServiceGroup,
diff --git a/test/e2e/quadlet/notify-healthy.container b/test/e2e/quadlet/notify-healthy.container
new file mode 100644
index 000000000000..6dc3d8c09257
--- /dev/null
+++ b/test/e2e/quadlet/notify-healthy.container
@@ -0,0 +1,5 @@
+## assert-podman-args "--sdnotify=healthy"
+
+[Container]
+Image=localhost/imagename
+Notify=healthy
diff --git a/test/e2e/quadlet_test.go b/test/e2e/quadlet_test.go
index 34de88293008..ad3061f4cdd2 100644
--- a/test/e2e/quadlet_test.go
+++ b/test/e2e/quadlet_test.go
@@ -712,6 +712,7 @@ BOGUS=foo
Entry("network.quadlet.container", "network.quadlet.container", 0, ""),
Entry("noimage.container", "noimage.container", 1, "converting \"noimage.container\": no Image or Rootfs key specified"),
Entry("notify.container", "notify.container", 0, ""),
+ Entry("notify-healthy.container", "notify-healthy.container", 0, ""),
Entry("oneshot.container", "oneshot.container", 0, ""),
Entry("other-sections.container", "other-sections.container", 0, ""),
Entry("podmanargs.container", "podmanargs.container", 0, ""),

View File

@ -0,0 +1,24 @@
[main]
plugins=ifupdown,keyfile
autoconnect-retries-default=0
rc-manager=file
[ifupdown]
managed=true
[keyfile]
unmanaged-devices=type:bridge;type:tun;type:veth
[logging]
backend=journal
[connection]
connection.mdns=2
connection.llmnr=2
[connectivity]
uri=http://nmcheck.gnome.org/check_network_status.txt
interval=300
[device]
wifi.scan-rand-mac-address=no

View File

@ -0,0 +1,2 @@
[main]
dns=dnsmasq

View File

@ -0,0 +1,2 @@
[main]
systemd-resolved=false

View File

@ -0,0 +1,2 @@
[main]
auth-polkit=true

View File

@ -0,0 +1,3 @@
[connection]
# Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable).
wifi.powersave = 2

View File

@ -0,0 +1,11 @@
[connection]
id=OpenVoiceOS default
uuid=554628d6-8290-3dea-90c1-9b3b108dc19c
type=802-3-ethernet
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto

View File

@ -118,7 +118,7 @@ pull_options = {enable_partial_images = "false", use_hard_links = "false", ostre
# Path to an helper program to use for mounting the file system instead of mounting it
# directly.
mount_program = "/usr/bin/fuse-overlayfs"
# mount_program = "/usr/bin/fuse-overlayfs"
# mountopt specifies comma separated list of extra mount options
mountopt = "nodev"

View File

@ -27,7 +27,7 @@ context.properties = {
## Properties for the DSP configuration.
default.clock.rate = 48000
default.clock.allowed-rates = [ 16000 22050 44100 48000 88200 96000 ]
default.clock.allowed-rates = [ 48000 ]
default.clock.quantum = 256
default.clock.min-quantum = 64
default.clock.max-quantum = 512

View File

@ -0,0 +1,8 @@
/* give group 'network' rights to change settings */
/* taken from https://wiki.archlinux.org/index.php/NetworkManager#Set_up_PolicyKit_permissions */
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) {
return polkit.Result.YES;
}
});

View File

@ -1,4 +1,4 @@
[Journal]
Storage=auto
Compress=yes
SystemMaxUse=500M
SystemMaxUse=256M

View File

@ -1,4 +0,0 @@
[Match]
Name=enp0s3
[Network]
DHCP=ipv4

View File

@ -1,2 +1,5 @@
[engine]
env=["TMPDIR=/home/ovos/.local/share/containers/tmp"]
[network]
network_backend="netavark"

View File

@ -14,3 +14,4 @@ QT_QUICK_CONTROLS_STYLE=OpenVoiceStyle
XDG_CURRENT_DESKTOP=kde
QML2_IMPORT_PATH=/usr/lib/qml
#QT_LOGGING_RULES=*=false
MYCROFT_LOOSE_REQUIREMENT=true

View File

@ -5,8 +5,8 @@ After=network-online.target
Wants=network-online.target
Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
Wants=ovos-messagebus.service
After=ovos-messagebus.service
Wants=ovos-phal.service
After=ovos-phal.service

View File

@ -0,0 +1,2 @@
[Install]
WantedBy=multi-user.target default.target

View File

@ -1,2 +0,0 @@
[Install]
WantedBy=default.target

View File

@ -0,0 +1,2 @@
[Install]
WantedBy=multi-user.target default.target

View File

@ -1,2 +0,0 @@
[Install]
WantedBy=default.target

View File

@ -5,8 +5,8 @@ After=network-online.target
Wants=network-online.target
Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
Wants=ovos-messagebus.service
After=ovos-messagebus.service
Wants=ovos-phal.service
After=ovos-phal.service

View File

@ -0,0 +1,2 @@
[Install]
WantedBy=multi-user.target default.target

View File

@ -1,2 +0,0 @@
[Install]
WantedBy=default.target

View File

@ -5,12 +5,12 @@ After=network-online.target
Wants=network-online.target
Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
Wants=ovos-phal.service
After=ovos-phal.service
Wants=ovos-gui-websocket.service
After=ovos-gui-websocket.service
#Wants=ovos-messagebus.service
#After=ovos-messagebus.service
#Wants=ovos-phal.service
#After=ovos-phal.service
#Wants=ovos-gui-websocket.service
#After=ovos-gui-websocket.service
[Container]
ContainerName=ovos-gui-shell

View File

@ -0,0 +1,2 @@
[Install]
WantedBy=multi-user.target default.target

View File

@ -3,8 +3,8 @@ Description=OpenVoiceOS GUI Websocket Service
After=local-fs.target
After=network-online.target
Wants=network-online.target
Wants=ovos-bus-server.service
After=ovos-bus-server.service
Wants=ovos-messagebus.service
After=ovos-messagebus.service
[Container]
ContainerName=ovos-gui-websocket

View File

@ -0,0 +1,2 @@
[Install]
WantedBy=multi-user.target default.target

View File

@ -5,8 +5,8 @@ After=network-online.target
Wants=network-online.target
Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
Wants=ovos-messagebus.service
After=ovos-messagebus.service
Wants=ovos-phal.service
After=ovos-phal.service

Some files were not shown because too many files have changed in this diff Show More