kernel-rt/filter-modules.sh.fedora
Juri Lelli 7f9ceea8d3 kernel-rt-5.13.0-1.rt3.1
* Thu Jul 08 2021 Juri Lelli <juri.lelli@redhat.com> [5.13.0-1.rt3.1]
- b5dcc29e819c rebase
- Revert "eventfd: track eventfd_signal() recursion depth" (Juri Lelli)
- Revert "aio: prevent potential eventfd recursion on poll" (Juri Lelli)
- redhat: Add realtime-setup dependecy for kernel-rt metapackage (Juri Lelli) [1937013]
- spec: Generate separate kernel-rt-kvm packages (Juri Lelli)
- Add RT config options (Juri Lelli)
- specfile: Add with_realtime (Juri Lelli)
- RTize build scripts (Juri Lelli)
- Add localversion for -RT release (Thomas Gleixner)
- sysfs: Add /sys/kernel/realtime entry (Clark Williams)
- genirq: Disable irqpoll on -rt (Ingo Molnar)
- tpm_tis: fix stall after iowrite*()s (Haris Okanovic)
- drivers/block/zram: Replace bit spinlocks with rtmutex for -rt (Mike Galbraith)
- powerpc: Avoid recursive header includes (Sebastian Andrzej Siewior)
- powerpc/stackprotector: work around stack-guard init from atomic (Sebastian Andrzej Siewior)
- powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT (Bogdan Purcareata)
- powerpc/pseries/iommu: Use a locallock instead local_irq_save() (Sebastian Andrzej Siewior)
- powerpc: traps: Use PREEMPT_RT (Sebastian Andrzej Siewior)
- ARM64: Allow to enable RT (Sebastian Andrzej Siewior)
- ARM: Allow to enable RT (Sebastian Andrzej Siewior)
- x86: Enable RT also on 32bit (Sebastian Andrzej Siewior)
- arm64: fpsimd: Delay freeing memory in fpsimd_flush_thread() (Sebastian Andrzej Siewior)
- KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() (Josh Cartwright)
- genirq: update irq_set_irqchip_state documentation (Josh Cartwright)
- ARM: enable irq in translation/section permission fault handlers (Yadi.hu)
- tty/serial/pl011: Make the locking work on RT (Thomas Gleixner)
- tty/serial/omap: Make the locking RT aware (Thomas Gleixner)
- leds: trigger: disable CPU trigger on -RT (Sebastian Andrzej Siewior)
- jump-label: disable if stop_machine() is used (Thomas Gleixner)
- arch/arm64: Add lazy preempt support (Anders Roxell)
- arm: Add support for lazy preemption (Thomas Gleixner)
- x86: Support for lazy preemption (Thomas Gleixner)
- x86/entry: Use should_resched() in idtentry_exit_cond_resched() (Sebastian Andrzej Siewior)
- sched: Add support for lazy preemption (Thomas Gleixner)
- mm/scatterlist: Do not disable irqs on RT (Thomas Gleixner)
- x86: Allow to enable RT (Sebastian Andrzej Siewior)
- cpuset: Convert callback_lock to raw_spinlock_t (Mike Galbraith)
- drm/i915/gt: Only disable interrupts for the timeline lock on !force-threaded (Sebastian Andrzej Siewior)
- drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE (Sebastian Andrzej Siewior)
- drm/i915: disable tracing on -RT (Sebastian Andrzej Siewior)
- drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates (Mike Galbraith)
- drm,radeon,i915: Use preempt_disable/enable_rt() where recommended (Mike Galbraith)
- lockdep: disable self-test (Sebastian Andrzej Siewior)
- lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals (Josh Cartwright)
- lockdep: selftest: Only do hardirq context test for raw spinlock (Yong Zhang)
- lockdep: Make it RT aware (Thomas Gleixner)
- net: Remove preemption disabling in netif_rx() (Priyanka Jain)
- random: Make it work on rt (Thomas Gleixner)
- x86: stackprotector: Avoid random pool on rt (Thomas Gleixner)
- panic: skip get_random_bytes for RT_FULL in init_oops_id (Thomas Gleixner)
- crypto: cryptd - add a lock instead preempt_disable/local_bh_disable (Sebastian Andrzej Siewior)
- crypto: limit more FPU-enabled sections (Sebastian Andrzej Siewior)
- irqwork: push most work into softirq context (Sebastian Andrzej Siewior)
- net: dev: always take qdisc's busylock in __dev_xmit_skb() (Sebastian Andrzej Siewior)
- net: Dequeue in dev_cpu_dead() without the lock (Sebastian Andrzej Siewior)
- net: Use skbufhead with raw lock (Thomas Gleixner)
- debugobjects: Make RT aware (Thomas Gleixner)
- fs: namespace: Use cpu_chill() in trylock loops (Thomas Gleixner)
- rt: Introduce cpu_chill() (Thomas Gleixner)
- sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() (Mike Galbraith)
- scsi/fcoe: Make RT aware. (Thomas Gleixner)
- md: raid5: Make raid5_percpu handling RT aware (Thomas Gleixner)
- block/mq: do not invoke preempt_disable() (Sebastian Andrzej Siewior)
- mm/vmalloc: Another preempt disable region which sucks (Thomas Gleixner)
- rcutorture: Avoid problematic critical section nesting on RT (Scott Wood)
- locking: Make spinlock_t and rwlock_t a RCU section on RT (Sebastian Andrzej Siewior)
- rcu: Delay RCU-selftests (Sebastian Andrzej Siewior)
- ptrace: fix ptrace_unfreeze_traced() race with rt-lock (Oleg Nesterov)
- ptrace: fix ptrace vs tasklist_lock race (Sebastian Andrzej Siewior)
- pid.h: include atomic.h (Grygorii Strashko)
- net/core: use local_bh_disable() in netif_rx_ni() (Sebastian Andrzej Siewior)
- softirq: Disable softirq stacks for RT (Thomas Gleixner)
- softirq: Check preemption after reenabling interrupts (Thomas Gleixner)
- sched: Disable TTWU_QUEUE on RT (Thomas Gleixner)
- sched: Do not account rcu_preempt_depth on RT in might_sleep() (Thomas Gleixner)
- kernel/sched: move stack + kprobe clean up to __put_task_struct() (Sebastian Andrzej Siewior)
- sched: Move mmdrop to RCU on RT (Thomas Gleixner)
- sched: Limit the number of task migrations per batch (Thomas Gleixner)
- wait.h: include atomic.h (Sebastian Andrzej Siewior)
- x86: kvm Require const tsc for RT (Thomas Gleixner)
- mm/zsmalloc: copy with get_cpu_var() and locking (Mike Galbraith)
- mm/memcontrol: Replace local_irq_disable with local locks (Sebastian Andrzej Siewior)
- mm/memcontrol: Don't call schedule_work_on in preemption disabled context (Yang Shi)
- mm: memcontrol: Provide a local_lock for per-CPU memcg_stock (Sebastian Andrzej Siewior)
- mm: slub: Don't enable partial CPU caches on PREEMPT_RT by default (Sebastian Andrzej Siewior)
- mm: page_alloc: Use a local_lock instead of explicit local_irq_save(). (Ingo Molnar)
- mm: page_alloc: Use migrate_disable() in drain_local_pages_wq() (Sebastian Andrzej Siewior)
- mm: slub: Don't resize the location tracking cache on PREEMPT_RT (Sebastian Andrzej Siewior)
- mm: slub: Move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context (Sebastian Andrzej Siewior)
- mm: slub: Move discard_slab() invocations out of IRQ-off sections (Sebastian Andrzej Siewior)
- mm: slub: Enable irqs for __GFP_WAIT (Thomas Gleixner)
- mm: slub: Make object_map_lock a raw_spinlock_t (Sebastian Andrzej Siewior)
- mm: sl[au]b: Change list_lock to raw_spinlock_t (Thomas Gleixner)
- locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs (Sebastian Andrzej Siewior)
- trace: Add migrate-disabled counter to tracing output (Thomas Gleixner)
- kernel/sched: add {put|get}_cpu_light() (Sebastian Andrzej Siewior)
- signal/x86: Delay calling signals in atomic (Oleg Nesterov)
- rt: Add local irq locks (Thomas Gleixner)
- efi: Allow efi=runtime (Sebastian Andrzej Siewior)
- efi: Disable runtime services on RT (Sebastian Andrzej Siewior)
- net/core: disable NET_RX_BUSY_POLL on RT (Sebastian Andrzej Siewior)
- sched: Disable CONFIG_RT_GROUP_SCHED on RT (Thomas Gleixner)
- mm: Allow only SLUB on RT (Ingo Molnar)
- kconfig: Disable config options which are not RT compatible (Thomas Gleixner)
- net: Properly annotate the try-lock for the seqlock (Sebastian Andrzej Siewior)
- net/Qdisc: use a seqlock instead seqcount (Sebastian Andrzej Siewior)
- fs/dcache: disable preemption on i_dir_seq's write side (Sebastian Andrzej Siewior)
- fs/dcache: use swait_queue instead of waitqueue (Sebastian Andrzej Siewior)
- u64_stats: Disable preemption on 32bit-UP/SMP with RT during updates (Sebastian Andrzej Siewior)
- mm/memcontrol: Disable preemption in __mod_memcg_lruvec_state() (Sebastian Andrzej Siewior)
- mm/vmstat: Protect per cpu variables with preempt disable on RT (Ingo Molnar)
- preempt: Provide preempt_*_(no)rt variants (Thomas Gleixner)
- signal: Revert ptrace preempt magic (Thomas Gleixner)
- locking/rtmutex: Use custom scheduling function for spin-schedule() (Sebastian Andrzej Siewior)
- locking/rtmutex: add ww_mutex addon for mutex-rt (Sebastian Andrzej Siewior)
- locking/rtmutex: wire up RT's locking (Thomas Gleixner)
- locking/rtmutex: add rwlock implementation based on rtmutex (Thomas Gleixner)
- locking/rtmutex: add rwsem implementation based on rtmutex (Thomas Gleixner)
- locking/rtmutex: add mutex implementation based on rtmutex (Thomas Gleixner)
- locking/rtmutex: Allow rt_mutex_trylock() on PREEMPT_RT (Sebastian Andrzej Siewior)
- locking/rtmutex: add sleeping lock implementation (Thomas Gleixner)
- sched: Add saved_state for tasks blocked on sleeping locks (Thomas Gleixner)
- locking/rtmutex: export lockdep-less version of rt_mutex's lock, trylock and unlock (Thomas Gleixner)
- locking/rtmutex: Provide rt_mutex_slowlock_locked() (Thomas Gleixner)
- locking: split out the rbtree definition (Sebastian Andrzej Siewior)
- lockdep: Reduce header files in debug_locks.h (Sebastian Andrzej Siewior)
- locking/rtmutex: Avoid include hell (Thomas Gleixner)
- locking/spinlock: Split the lock types header (Thomas Gleixner)
- futex: Fix bug on when a requeued RT task times out (Steven Rostedt)
- locking/rtmutex: Handle the various new futex race conditions (Thomas Gleixner)
- tasklets: Switch tasklet_disable() to the sleep wait variant (Thomas Gleixner)
- tasklets: Use spin wait in tasklet_disable() temporarily (Thomas Gleixner)
- smp: Wake ksoftirqd on PREEMPT_RT instead do_softirq(). (Sebastian Andrzej Siewior)
- tcp: Remove superfluous BH-disable around listening_hash (Sebastian Andrzej Siewior)
- net: Move lockdep where it belongs (Thomas Gleixner)
- shmem: Use raw_spinlock_t for ->stat_lock (Sebastian Andrzej Siewior)
- mm: workingset: replace IRQ-off check with a lockdep assert. (Sebastian Andrzej Siewior)
- cgroup: use irqsave in cgroup_rstat_flush_locked() (Sebastian Andrzej Siewior)
- printk: add pr_flush() (John Ogness)
- printk: add console handover (John Ogness)
- printk: remove deferred printing (John Ogness)
- printk: move console printing to kthreads (John Ogness)
- printk: introduce kernel sync mode (John Ogness)
- printk: use seqcount_latch for console_seq (John Ogness)
- printk: combine boot_delay_msec() into printk_delay() (John Ogness)
- printk: relocate printk_delay() and vprintk_default() (John Ogness)
- serial: 8250: implement write_atomic (John Ogness)
- kdb: only use atomic consoles for output mirroring (John Ogness)
- console: add write_atomic interface (John Ogness)
- printk: convert @syslog_lock to spin_lock (John Ogness)
- printk: remove safe buffers (John Ogness)
- printk: track/limit recursion (John Ogness)
- notifier: Make atomic_notifiers use raw_spinlock (Valentin Schneider)
- genirq: Move prio assignment into the newly created thread (Thomas Gleixner)
- kthread: Move prio/affinite change into the newly created thread (Sebastian Andrzej Siewior)
- timers: Move clearing of base::timer_running under base::lock (Thomas Gleixner)
- highmem: Don't disable preemption on RT in kmap_atomic() (Sebastian Andrzej Siewior)
Resolves: rhbz#1891873, rhbz#1937013
2021-07-08 14:42:42 +02:00

177 lines
4.4 KiB
Bash
Executable File

#! /bin/bash
#
# Called as filter-modules.sh list-of-modules Arch
# This script filters the modules into the kernel-core and kernel-modules
# subpackages. We list out subsystems/subdirs to prune from the installed
# module directory. What is left is put into the kernel-core package. What is
# pruned is contained in the kernel-modules package.
#
# This file contains the default subsys/subdirs to prune from all architectures.
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
# that contains the set of override lists to be used instead. If a module or
# subsys should be in kernel-modules on all arches, please change the defaults
# listed here.
# Overrides is individual modules which need to remain in kernel-core due to deps.
overrides="cec"
# Set the default dirs/modules to filter out
driverdirs="atm auxdisplay bcma bluetooth firewire fpga infiniband leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio w1"
chardrvs="mwave pcmcia"
netdrvs="appletalk can dsa hamradio ieee802154 ppp slip usb wireless"
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex marvell mellanox neterion nvidia packetengines qlogic rdc sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
inputdrvs="gameport tablet touchscreen"
hiddrvs="surface-hid"
scsidrvs="aacraid aic7xxx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
usbdrvs="atm image misc serial"
fsdrvs="affs befs coda cramfs dlm ecryptfs hfs hfsplus jfs jffs2 minix nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dsa ieee802154 l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon"
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl"
# Grab the arch-specific filter list overrides
source ./filter-$2.sh
filter_dir() {
filelist=$1
dir=$2
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
if [ $? -ne 0 ]
then
echo "Couldn't remove ${dir}. Skipping."
else
grep -e "${dir}/" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
filter_ko() {
filelist=$1
mod=$2
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
if [ $? -ne 0 ]
then
echo "Couldn't remove ${mod}.ko Skipping."
else
grep -e "${mod}.ko" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
# Filter the drivers/ subsystems
for subsys in ${driverdirs}
do
filter_dir $1 drivers/${subsys}
done
# Filter the networking drivers
for netdrv in ${netdrvs}
do
filter_dir $1 drivers/net/${netdrv}
done
# Filter the char drivers
for char in ${chardrvs}
do
filter_dir $1 drivers/char/${char}
done
# Filter the ethernet drivers
for eth in ${ethdrvs}
do
filter_dir $1 drivers/net/ethernet/${eth}
done
# SCSI
for scsi in ${scsidrvs}
do
filter_dir $1 drivers/scsi/${scsi}
done
# Input
for input in ${inputdrvs}
do
filter_dir $1 drivers/input/${input}
done
# hid
for hid in ${hiddrvs}
do
filter_dir $1 drivers/hid/${hid}
done
# USB
for usb in ${usbdrvs}
do
filter_dir $1 drivers/usb/${usb}
done
# Filesystems
for fs in ${fsdrvs}
do
filter_dir $1 fs/${fs}
done
# Network protocols
for prot in ${netprots}
do
filter_dir $1 kernel/net/${prot}
done
# DRM
for drm in ${drmdrvs}
do
filter_dir $1 drivers/gpu/drm/${drm}
done
# Just kill sound.
filter_dir $1 kernel/sound
# Now go through and filter any single .ko files that might have deps on the
# things we filtered above
for mod in ${singlemods}
do
filter_ko $1 ${mod}
done
# Now process the override list to bring those modules back into core
for mod in ${overrides}
do
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
if [ $? -ne 0 ]
then
echo "Couldn't save ${mod}.ko Skipping."
else
grep -e "/${mod}.ko" k-d.list >> $filelist
mv k-d.list.tmp k-d.list
fi
done
# Go through our generated drivers list and remove the .ko files. We'll
# restore them later.
for mod in `cat k-d.list`
do
rm -rf $mod
done