opnsense-src/sys/compat/linuxkpi/common/include/linux
Mathieu 718d1928f8
LinuxKPI: make linux_alloc_pages() honor __GFP_NORETRY
This is to fix slowdowns with drm-kmod that get worse over time as
physical memory become more fragmented (and probably also depending on
other factors).

Based on information posted in this bug report:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277476

By default, linux_alloc_pages() retries failed allocations by calling
vm_page_reclaim_contig() to attempt to free contiguous physical memory
pages. vm_page_reclaim_contig() does not always succeed and calling it
can be very slow even when it fails. When physical memory is very
fragmented, vm_page_reclaim_contig() can end up being called (and
failing) after every allocation attempt. This could cause very
noticeable graphical desktop hangs (which could last seconds).

The drm-kmod code in question attempts to allocate multiple contiguous
pages at once but does not actually require them to be contiguous. It
can fallback to doing multiple smaller allocations when larger
allocations fail. It passes alloc_pages() the __GFP_NORETRY flag in this
case.

This patch makes linux_alloc_pages() fail early (without retrying) when
this flag is passed.

[olce: The problem this patch fixes is longer and longer GUI freezes as
a machine's memory gets filled and becomes fragmented, when using amdgpu
from DRM kmod 5.15 and DRM kmod 6.1 (DRM kmod 5.10 is unaffected; newer
Linux kernel introduced an "optimization" by which a pool of pages is
filled preferentially with contiguous pages, which triggered the problem
for us).  The original commit message above evokes freezes lasting
seconds, but I occasionally witnessed some lasting tens of minutes,
rendering a machine completely useless.

The patch has been reviewed for its potential impacts to other LinuxKPI
parts and our existing DRM kmods' code.  In particular, there is no
other user of __GFP_NORETRY/GFP_NORETRY with Linux's alloc_pages*()
functions in our tree or DRM kmod ports.

It has also been tested extensively, by me for months against 14-STABLE
and sporadically on -CURRENT on a RX580, and by several others as
reported below and as is visible in more details in the quoted bugzilla
PR and in the initial drm-kmod issue at
https://github.com/freebsd/drm-kmod/issues/302, on a variety of other
AMD GPUs (several RX580, RX570, Radeon Pro WX5100, Green Sardine 5600G,
Ryzen 9 4900H with embedded Renoir).]

PR:             277476
Reported by:    Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by:    olce
Tested by:      many (olce, Pierre Pronchery, Evgenii Khramtsov, chaplina, rk)
MFC after:      2 weeks
Relnotes:       yes
Sponsored by:   The FreeBSD Foundation (review and part of testing)
2025-03-25 09:41:44 +01:00
..
device LinuxKPI: add general module_driver(), use it for module_pci_driver() 2024-09-05 12:46:21 +00:00
sched linuxkpi: Add memalloc_noreclaim_save() and memalloc_noreclaim_restore() 2023-01-16 19:27:16 +01:00
soc LinuxKPI: some additions for mt76 2024-09-13 00:25:31 +00:00
acpi.h LinuxKPI: Add acpi_dev_get_first_match_dev and acpi_device_handle 2024-07-21 16:09:37 +03:00
agp_backend.h linuxkpi: Add linux/agp_backend.h 2023-04-04 11:49:48 +02:00
anon_inodes.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
aperture.h LinuxKPI: update linuxkpi_video to Linux 6.6 2024-08-07 23:38:38 +03:00
apple-gmux.h LinuxKPI: Add linux/apple-gmux.h 2023-12-24 11:20:00 +03:00
atomic.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
average.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
backlight.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bcd.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bitfield.h LinuxKPI: add FIELD_PREP_CONST() 2024-05-21 23:27:10 +00:00
bitmap.h LinuxKPI: Constify src parameter of bitmap_copy 2023-12-24 15:48:06 +03:00
bitops.h linuxkpi: Add __assign_bit() 2025-01-31 17:00:48 +01:00
bottom_half.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bsearch.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
build_bug.h linuxkpi: Annotate an unused variable as such 2023-12-27 10:11:33 -05:00
cache.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
capability.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
cc_platform.h linuxkpi: cc_platform: Add CC_ATTR_GUEST_MEM_ENCRYPT 2025-02-11 09:27:48 +01:00
cdev.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
cec.h linuxkpi: Add <linux/cec.h> 2025-01-31 17:00:42 +01:00
cgroup.h linuxkpi: Add several headers to reproduce namespace pollution 2025-01-31 17:00:49 +01:00
circ_buf.h linuxkpi: Add circ_buf.h 2022-06-29 09:54:45 +02:00
cleanup.h LinuxKPI: add cleanup.h for guard DEFINE_GUARD/guard. 2024-10-14 17:45:42 +00:00
clocksource.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
compat.h LinuxKPI: Allow kmalloc to be called when FPU protection is enabled 2024-02-11 01:01:50 +03:00
compiler.h cdefs: Add __deprecated 2024-10-15 15:05:49 -06:00
completion.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
console.h linuxkpi: Add console.h 2022-06-29 09:54:49 +02:00
container_of.h LinuxKPI: Split linux/container_of.h off from linux/kernel.h 2023-12-24 11:19:58 +03:00
cpu.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
cpufeature.h linuxkpi: Document why <linux/cpufeaure.h> has an include commentted out 2025-03-21 19:46:35 +01:00
crc32.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
dcache.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
debugfs.h lindebugfs: Add debugfs_lookup() 2025-01-31 17:00:50 +01:00
delay.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
devcoredump.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
device.h linuxkpi: Add dev_is_removable() 2025-01-31 17:00:49 +01:00
dma-attrs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
dma-buf-map.h linuxkpi: Add <linux/dma-buf-map.h> 2022-11-11 18:40:57 +01:00
dma-mapping.h linuxkpi: dma_get_cache_alignment(): Fix off-by-one result 2023-11-02 09:30:03 -04:00
dmapool.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
dmi.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
dynamic_debug.h LinuxKPI: Add linux/dynamic_debug.h header 2023-12-24 11:20:00 +03:00
efi.h sys: make the kernel metadata pointer global 2025-01-24 14:25:51 -07:00
err.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
errno.h LinuxKPI: add ENAVAIL error code 2024-08-31 21:34:01 +00:00
etherdevice.h linuxkpi: use canonical tests for is_{zero,broadcast}_ether_addr 2024-08-08 12:39:14 -04:00
ethtool.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
eventpoll.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
export.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
file.h kern: Make fileops and filterops tables const where possible 2024-11-26 21:04:21 +00:00
firmware.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
fs.h linuxkpi: Defaults to get_file_rcu() version from Linux 6.7 2025-02-19 21:39:46 +01:00
fwnode.h linuxkpi: Declare struct fwnode_handle in <linux/fwnode.h> 2023-02-14 23:01:06 +01:00
gcd.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
gfp.h LinuxKPI: make linux_alloc_pages() honor __GFP_NORETRY 2025-03-25 09:41:44 +01:00
gpf.h LinuxKPI: Remove linux/sched.h include from linux/kernel.h header 2024-06-26 23:47:12 +03:00
hardirq.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
hash.h LinuxKPI: Implement linux/hashtable.h for FreeBSD. 2022-05-12 16:32:47 +02:00
hashtable.h linuxkpi: remove invalid KASSERT from hash_add_rcu 2024-01-29 11:40:17 -05:00
hdmi.h LinuxKPI: update linuxkpi_video to Linux 6.6 2024-08-07 23:38:38 +03:00
highmem.h LinuxKPI: Add header polution to compile linux/numa.h 2024-06-26 23:44:56 +03:00
hrtimer.h linuxkpi: Include <linux/rbtree.h> from <linux/hrtimer.h> and <linux/mm_types.h> 2023-11-29 19:54:48 +01:00
i2c-algo-bit.h linuxkpi: Add i2c support 2022-01-25 16:15:39 +01:00
i2c.h linuxkpi: Add i2c_adapter_quirks support 2023-02-13 22:09:31 +01:00
idr.h linuxkpi: Add idr.h -> radix-tree.h -> rcupdate.h includes 2025-01-31 17:00:46 +01:00
ieee80211.h LinuxKPI: 802.11: CONFIG_PM_SLEEP / WoWLAN header adjustments 2025-03-18 09:22:01 +00:00
if_arp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_ether.h LinuxKPI: add eth_hdr() 2024-08-31 21:35:02 +00:00
if_vlan.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
in.h sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
in6.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
inetdevice.h LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards 2022-01-10 22:49:38 +03:00
interrupt.h kern/intr: redeclare intr_setaffinity()'s third arg constant 2024-05-09 17:14:35 -06:00
interval_tree.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
interval_tree_generic.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
io-64-nonatomic-lo-hi.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
io-mapping.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
io.h linuxkpi: Unify definition of outb() 2025-01-31 17:00:48 +01:00
ioctl.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
iommu.h linuxkpi: Add <linux/iommu.h> 2023-03-20 21:47:36 +01:00
iopoll.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ioport.h LinuxKPI: Add linux/ioport.h header 2023-12-24 11:20:00 +03:00
iosys-map.h LinuxKPI: Add linux/iosys-map.h header 2023-12-24 11:19:58 +03:00
ip.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
irq_work.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
irqdomain.h LinuxKPI: Add some header pollution and dummy headers 2023-12-24 11:19:58 +03:00
irqreturn.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
jhash.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
jiffies.h LinnuxKPI: drm2: retire timespec_to_jiffies() 2025-02-01 00:47:30 +00:00
jump_label.h LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards 2022-01-10 22:49:38 +03:00
kconfig.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
kdev_t.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
kernel.h LinuxKPI: Remove stray semicolons 2024-10-24 23:04:48 +08:00
kernel_stat.h linuxkpi: Add several headers to reproduce namespace pollution 2025-01-31 17:00:49 +01:00
kfifo.h LinuxKPI: extend kfifo to be usable 2022-08-18 20:26:20 +00:00
kmemleak.h linuxkpi: Add kmemleak.h 2022-06-29 09:54:57 +02:00
kmod.h LinuxKPI: Remove the temporary variable fileid from the macro request_module 2024-04-06 00:26:09 +08:00
kobject.h LinuxKPI: Add some header pollution and dummy headers 2023-12-24 11:19:58 +03:00
kref.h linuxkpi: refcount: Use atomic_t directly 2024-05-16 09:40:46 +02:00
kstrtox.h linuxkpi: Add kstrtou32() 2025-01-31 17:00:47 +01:00
kthread.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ktime.h LinuxKPI: Add ms_to_ktime 2024-04-08 09:47:42 +03:00
leds.h LinuxKPI: add linux/leds.h 2022-11-07 12:52:41 +00:00
limits.h LinuxKPI: Move [SU](8|16|32|64)_(MAX|MIN) defines to linux/limits.h 2024-04-08 09:47:42 +03:00
list.h linuxkpi: Add list_for_each_rcu() 2025-03-20 20:43:44 +01:00
llist.h LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards 2022-01-10 22:49:38 +03:00
lockdep.h LinuxKPI: lockdep fix #includes 2024-11-02 01:24:42 +00:00
log2.h log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
math.h linuxkpi: Correct DIV_ROUND_DOWN_ULL 2025-03-12 13:43:08 -04:00
math64.h linuxkpi math: fix kassert in math64.h 2023-08-18 00:31:03 -05:00
media-bus-format.h linuxkpi: Add media-bus-format.h 2022-06-29 09:55:00 +02:00
mhi.h LinuxKPI: add more fields to mhi.h 2024-09-13 00:23:35 +00:00
minmax.h LinuxKPI: Add min_not_zero() to linux/minmax.h 2024-06-06 23:42:06 +03:00
miscdevice.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mm.h LinuxKPI: Remove vmas argument from get_user_pages on KBI layer 2024-07-21 16:10:14 +03:00
mm_types.h linuxkpi: Include <linux/rbtree.h> from <linux/hrtimer.h> and <linux/mm_types.h> 2023-11-29 19:54:48 +01:00
mman.h linuxkpi: Add <linux/mman.h> which includes <linux/smp.h> 2022-11-11 20:57:46 +01:00
mmap_lock.h linuxkpi: Add mmap_lock.h 2022-02-17 09:31:51 +01:00
mmu_context.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mmu_notifier.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mmzone.h LinuxKPI: Add header polution to compile linux/numa.h 2024-06-26 23:44:56 +03:00
mod_devicetable.h LinuxKPI: Add ACPI_ID_LEN const to linux/mod_devicetable.h 2024-04-08 09:47:43 +03:00
module.h linuxkpi: Provide a non-NULL value for THIS_MODULE 2024-05-16 10:36:36 -07:00
moduleparam.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mutex.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
net.h sockets: garbage collect SS_ISCONFIRMING 2024-01-30 10:38:33 -08:00
net_dim.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netdev_features.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netdevice.h LinuxKPI: netdevice: add alloc_netdev_dummy() 2024-10-17 13:27:05 +00:00
nl80211.h LinuxKPI: 802.11: improve cfg80211_chandef_create() 2025-02-22 22:18:51 +00:00
nodemask.h linuxkpi: Add num_online_nodes() 2025-01-31 17:00:47 +01:00
nospec.h linuxkpi: Add linux/nospec.h 2022-08-08 15:22:35 +02:00
notifier.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
numa.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
of.h LinuxKPI: Add some header pollution and dummy headers 2023-12-24 11:19:58 +03:00
overflow.h LinuxKPI: Import vanilla linux/overflow.h 2024-04-08 09:47:42 +03:00
page-flags.h linuxkpi: Add <linux/page-flags.h> 2022-11-11 20:56:42 +01:00
page.h LinuxKPI: Add page_to_virt function 2024-07-21 16:09:01 +03:00
pagemap.h linuxkpi: Move invalidate_mapping_pages() to <linux/pagemap.h> 2023-12-13 19:18:46 +01:00
pagevec.h LinuxKPI: reduce usage of struct vm_page and vm_page_t 2023-08-07 00:55:30 +00:00
pci.h linuxkpi: Define a few more PCI_* constants 2025-03-20 20:43:44 +01:00
pci_ids.h LinuxKPI: Add the accelerator PCIe class 2024-04-08 09:47:43 +03:00
perf_event.h linuxkpi: Add several headers to reproduce namespace pollution 2025-01-31 17:00:49 +01:00
pfn.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pfn_t.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pid.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
platform_device.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pm.h LinuxKPI: pm: add SET_SYSTEM_SLEEP_PM_OPS() and device_can_wakeup() 2024-06-07 22:57:04 +00:00
pm_qos.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pm_runtime.h linuxkpi: Add pm_runtime_suspended() 2023-01-25 22:26:53 +01:00
poison.h LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards 2022-01-10 22:49:38 +03:00
poll.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
power_supply.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
preempt.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
prefetch.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
printk.h LinuxKPI: add no_printk 2024-08-31 21:36:01 +00:00
ptp_clock_kernel.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pwm.h linuxkpi: Add pwm.h 2022-06-29 09:55:26 +02:00
qrtr.h ath10k: ath11k: add specific LinuxKPI support 2023-04-23 21:31:07 +00:00
radix-tree.h linuxkpi: Add idr.h -> radix-tree.h -> rcupdate.h includes 2025-01-31 17:00:46 +01:00
random.h LinuxKPI: add get_random_u8() 2024-08-31 21:32:11 +00:00
ratelimit.h LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards 2022-01-10 22:49:38 +03:00
rbtree.h LinuxKPI: Add rb_add_cached function 2024-06-26 23:43:16 +03:00
rculist.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rcupdate.h LinuxKPI: update rcu_dereference_*() and lockdep_is_held() 2024-10-23 01:43:09 +00:00
reboot.h linuxkpi: Add orderly_poweroff 2022-02-17 09:31:25 +01:00
refcount.h linuxkpi: refcount: Use atomic_t directly 2024-05-16 09:40:46 +02:00
rhashtable.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rwlock.h linuxkpi: rwlock: Fix rwlock_init 2024-05-17 07:59:02 +02:00
rwsem.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
scatterlist.h LinuxKPI: Remove linux/sched.h include from linux/kernel.h header 2024-06-26 23:47:12 +03:00
sched.h LinuxKPI: Add linux/nodemask.h 2024-06-26 23:49:52 +03:00
semaphore.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
seq_file.h linuxkpi: Include <linux/string_helpers.h> from <linux/seq_file.h> 2023-12-13 19:54:32 +01:00
seqlock.h atomics: Constify loads: Remove now superfluous uses of DECONST() 2025-01-20 16:49:52 +01:00
shmem_fs.h LinuxKPI: Add some header pollution and dummy headers 2023-12-24 11:19:58 +03:00
shrinker.h linuxkpi: Add shrinker_alloc() and shrinker_free() 2025-02-19 21:39:46 +01:00
sizes.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
skbuff.h LinuxKPI: skbuff: add synchronization primitives and missing bits 2025-02-23 23:25:32 +00:00
slab.h LinuxKPI: move __kmalloc from slab.h to slab.c 2024-07-26 11:51:04 +00:00
smp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
socket.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
sort.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
spinlock.h linuxkpi: Fix spin_lock_init 2024-05-17 07:58:59 +02:00
srcu.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
stackdepot.h linuxkpi: Add linux/stackdepot.h 2022-08-18 09:46:36 +02:00
stdarg.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
stddef.h LinuxKPI: add struct_group(...) 2023-06-08 18:00:57 +00:00
string.h linuxkpi: Add strim() 2025-03-20 20:43:44 +01:00
string_helpers.h LinuxKPI: Add str_on_off and other helpers to linux/string_helpers.h 2023-12-24 11:19:58 +03:00
stringify.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
suspend.h linuxkpi: Add more suspend defines 2023-02-17 14:50:58 +01:00
swap.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
sysfs.h LinuxKPI: Stub sysfs_remove_link in linux/sysfs.h 2024-04-08 09:47:43 +03:00
tcp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
time.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
timer.h Revert: LinuxKPI: switch jiffies and timer->expire to unsigned long 2025-01-08 08:30:14 +00:00
tracepoint.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
typecheck.h linuxkpi: Add typecheck.h 2022-06-29 09:55:15 +02:00
types.h sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
uaccess.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
udp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
units.h linuxkpi: Add <linux/units.h> 2025-03-20 20:43:44 +01:00
usb.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
utsname.h LinuxKPI: utsname.h add missing SPDX-License-Identifier 2024-04-19 18:23:12 +00:00
uuid.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vgaarb.h linuxkpi: Update vga_client_register() and add vga_client_unregister() 2023-02-13 22:09:31 +01:00
vmalloc.h LinuxKPI: Import vanilla linux/overflow.h 2024-04-08 09:47:42 +03:00
wait.h linuxkpi: chase spinlock_t in DECLARE_WAIT_QUEUE_HEAD 2024-08-28 09:29:40 +02:00
wait_bit.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
workqueue.h LinuxKPI: Add cancel_work() function. 2023-12-24 11:19:59 +03:00
ww_mutex.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
xarray.h linuxkpi: Use same field names in struct xarray as Linux 2025-01-31 17:00:48 +01:00