mirror-linux/include/linux
Jens Axboe da4c8c3d09 block: cache current nsec time in struct blk_plug
Querying the current time is the most costly thing we do in the block
layer per IO, and depending on kernel config settings, we may do it
many times per IO.

None of the callers actually need nsec granularity. Take advantage of
that by caching the current time in the plug, with the assumption here
being that any time checking will be temporally close enough that the
slight loss of precision doesn't matter.

If the block plug gets flushed, eg on preempt or schedule out, then
we invalidate the cached clock.

On a basic peak IOPS test case with iostats enabled, this changes
the performance from:

IOPS=108.41M, BW=52.93GiB/s, IOS/call=31/31
IOPS=108.43M, BW=52.94GiB/s, IOS/call=32/32
IOPS=108.29M, BW=52.88GiB/s, IOS/call=31/32
IOPS=108.35M, BW=52.91GiB/s, IOS/call=32/32
IOPS=108.42M, BW=52.94GiB/s, IOS/call=31/31
IOPS=108.40M, BW=52.93GiB/s, IOS/call=32/32
IOPS=108.31M, BW=52.89GiB/s, IOS/call=32/31

to

IOPS=118.79M, BW=58.00GiB/s, IOS/call=31/32
IOPS=118.62M, BW=57.92GiB/s, IOS/call=31/31
IOPS=118.80M, BW=58.01GiB/s, IOS/call=32/31
IOPS=118.78M, BW=58.00GiB/s, IOS/call=32/32
IOPS=118.69M, BW=57.95GiB/s, IOS/call=32/31
IOPS=118.62M, BW=57.92GiB/s, IOS/call=32/31
IOPS=118.63M, BW=57.92GiB/s, IOS/call=31/32

which is more than a 9% improvement in performance. Looking at perf diff,
we can see a huge reduction in time overhead:

    10.55%     -9.88%  [kernel.vmlinux]  [k] read_tsc
     1.31%     -1.22%  [kernel.vmlinux]  [k] ktime_get

Note that since this relies on blk_plug for the caching, it's only
applicable to the issue side. But this is where most of the time calls
happen anyway. On the completion side, cached time stamping is done with
struct io_comp patch, as long as the driver supports it.

It's also worth noting that the above testing doesn't enable any of the
higher cost CPU items on the block layer side, like wbt, cgroups,
iocost, etc, which all would add additional time querying and hence
overhead. IOW, results would likely look even better in comparison with
those enabled, as distros would do.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-02-05 10:07:28 -07:00
..
amba TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
atomic
avf
bcma
byteorder
can
cdx cdx: Create resource debugfs file for cdx device 2024-01-04 17:01:13 +01:00
ceph ceph: try to allocate a smaller extent map for sparse read 2024-01-15 15:40:50 +01:00
clk
comedi
crush
decompress
device IOMMU Updates for Linux v6.8 2024-01-18 15:16:57 -08:00
dma
dsa
extcon
firmware drivers: soc: xilinx: add check for platform 2024-01-04 17:02:49 +01:00
fpga
framer
fsl
gpio gpiolib: Fix scope-based gpio_device refcounting 2024-01-15 18:41:29 +01:00
greybus
habanalabs
hsi
i3c i3c: master: fix kernel-doc check warning 2024-01-14 23:00:50 +01:00
iio iio: linux/iio.h: fix Excess kernel-doc description warning 2023-12-26 16:02:46 +00:00
input
io_uring for-6.8/io_uring-2024-01-08 2024-01-11 14:19:23 -08:00
irqchip
isdn
lockd
mailbox
mdio
mfd
mlx4
mlx5 net/mlx5: Bridge, fix multicast packets sent to uplink 2024-01-24 00:15:35 -08:00
mmc mmc: core: Add wp_grp_size sysfs node 2024-01-02 17:54:05 +01:00
mtd * Raw NAND 2023-12-22 12:45:52 +01:00
mux
net/intel
netfilter netfilter: ipset: fix performance regression in swap operation 2024-01-31 23:13:57 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
perf
phy
pinctrl
platform_data This cycle, I2C removes the currently unused CLASS_DDC support 2024-01-18 17:29:01 -08:00
power
pse-pd
qed
raid
regulator
remoteproc
reset
rpmsg
rtc
sched header cleanups for 6.8 2024-01-10 16:43:55 -08:00
soc MediaTek soc driver updates for v6.8 2023-12-22 11:12:55 +00:00
soundwire
spi spi: Raise limit on number of chip selects 2024-01-24 15:11:38 +00:00
ssb
sunrpc NFS Client Updates for Linux 6.8 2024-01-10 16:13:57 -08:00
surface_aggregator Char/Misc and other Driver changes for 6.8-rc1 2024-01-17 16:47:17 -08:00
ulpi
unaligned
usb usb: dwc3: Support EBC feature of DWC_usb31 2024-01-04 16:00:41 +01:00
8250_pci.h
acct.h
acpi.h cxl for v6.8 2024-01-18 16:22:43 -08:00
acpi_amd_wbrf.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h PCI/AER: Use explicit register sizes for struct members 2024-01-02 16:51:39 -06:00
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pmf-io.h HID: amd_sfh: Add a new interface for exporting ALS data 2024-01-04 15:19:17 +01:00
amd-pstate.h
anon_inodes.h
aperture.h
apm-emulation.h
apm_bios.h
apple-gmux.h
arch_topology.h arm64/amu: Use capacity_ref_freq() to set AMU ratio 2023-12-23 15:52:36 +01:00
args.h
arm-cci.h
arm-smccc.h
arm_ffa.h
arm_sdei.h
armada-37xx-rwtm-mailbox.h
array_size.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
assoc_array.h
assoc_array_priv.h
async.h async: Introduce async_schedule_dev_nocall() 2024-01-03 11:31:12 +01:00
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-ssc.h
atmel_pdc.h
atomic.h
attribute_container.h
audit.h
audit_arch.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h
backing-file.h fs: factor out backing_file_mmap() helper 2023-12-23 16:35:09 +02:00
backlight.h
badblocks.h
balloon_compaction.h
base64.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h block: Fix iterating over an empty bio with bio_for_each_folio_all 2024-01-16 15:02:25 -07:00
bit_spinlock.h
bitfield.h
bitmap-str.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h blk-mq: Remove the hctx 'run' debugfs attribute 2024-01-17 14:16:34 -07:00
blk-pm.h
blk_types.h block: move cgroup time handling code into blk.h 2024-02-05 10:07:17 -07:00
blkdev.h block: cache current nsec time in struct blk_plug 2024-02-05 10:07:28 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h
bpf-netns.h
bpf.h bpf: Relax tracing prog recursive attach rules 2024-01-04 20:31:34 -08:00
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h bpf: Allow per unit prefill for non-fix-size percpu memory allocator 2024-01-03 21:08:25 -08:00
bpf_mprog.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h bpf: extract bpf_ctx_convert_map logic and make it more reusable 2024-01-17 20:20:05 -08:00
btf_ids.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h fs: remove the bh_end_io argument from __block_write_full_folio 2023-12-29 11:58:36 -08:00
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h
c2port.h
cache.h
cacheflush.h
cacheinfo.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cfi_types.h
cgroup-defs.h
cgroup.h
cgroup_api.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
circ_buf.h
cleanup.h
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
closure.h
cma.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h
compiler_attributes.h
compiler_types.h
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
container_of.h
context_tracking.h
context_tracking_irq.h
context_tracking_state.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpufeature.h
cpufreq.h cpufreq: Use the fixed and coherent frequency for scaling capacity 2023-12-23 15:52:34 +01:00
cpuhotplug.h Many singleton patches against the MM code. The patch series which 2024-01-09 11:18:47 -08:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h
cpumask_api.h
cpuset.h
crash_core.h kdump: remove redundant DEFAULT_CRASH_KERNEL_LOW_SIZE 2023-12-29 12:22:31 -08:00
crash_dump.h
crc-ccitt.h lib: crc_ccitt_false() is identical to crc_itu_t() 2023-12-29 12:22:26 -08:00
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
cxl-event.h cxl/pci: Register for and process CPER events 2024-01-09 15:41:23 -08:00
damon.h
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h IOMMU Updates for Linux v6.8 2024-01-18 15:16:57 -08:00
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dm9000.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence-unwrap.h
dma-fence.h
dma-heap.h
dma-map-ops.h IOMMU Updates for Linux v6.8 2024-01-18 15:16:57 -08:00
dma-mapping.h
dma-resv.h
dmaengine.h dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV 2024-01-30 22:11:13 +05:30
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dpll.h dpll: expose fractional frequency offset value to user 2024-01-05 07:58:19 -08:00
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_config.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h Driver core changes for 6.8-rc1 2024-01-18 09:48:40 -08:00
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h
efi_embedded_fw.h
efs_vh.h
eisa.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h energy_model: Use a fixed reference frequency 2023-12-23 15:52:35 +01:00
entry-common.h entry: Move syscall_enter_from_user_mode() to header file 2023-12-21 23:12:18 +01:00
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h ethtool: reformat kerneldoc for struct ethtool_fec_stats 2023-12-29 01:22:59 +00:00
ethtool_netlink.h
eventfd.h
eventpoll.h
evm.h
export-internal.h linux/export: Ensure natural alignment of kcrctab array 2023-12-29 01:25:58 +09:00
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
fileattr.h
filelock.h
filter.h
find.h
fips.h
firewire.h firewire: make fw_bus_type const 2024-01-08 09:36:55 +09:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h string: Remove strlcpy() 2024-01-19 11:59:11 -08:00
fprobe.h
freezer.h
fs.h vfs-6.8.netfs 2024-01-19 09:10:23 -08:00
fs_api.h
fs_context.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fscache-cache.h netfs: Fix interaction between write-streaming and cachefiles culling 2024-01-05 15:42:25 +00:00
fscache.h netfs: Move pinning-for-writeback from fscache to netfs 2023-12-24 15:08:49 +00:00
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h fsnotify: compile out fsnotify permission hooks if !FANOTIFY_ACCESS_PERMISSIONS 2024-01-12 15:34:50 +01:00
fsnotify_backend.h
fsverity.h
ftrace.h
ftrace_irq.h
futex.h
fw_table.h lib/firmware_table: tables: Add CDAT table parsing support 2023-12-22 14:23:13 -08:00
fwnode.h
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
gfp_api.h
gfp_types.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h HID: make hid_bus_type const 2024-01-02 11:25:28 +01:00
hid_bpf.h HID: bpf: use __bpf_kfunc instead of noinline 2024-01-31 10:27:08 +01:00
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hisi_acc_qm.h
hmm.h
host1x.h
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
hrtimer_types.h
hte.h
huge_mm.h mm: remove VM_EXEC requirement for THP eligibility 2023-12-29 11:58:42 -08:00
hugetlb.h mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER 2024-01-08 15:27:15 -08:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-atr.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h i2c: make i2c_bus_type const 2024-01-18 21:10:43 +01:00
i8042.h
i8253.h
i8254.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h wireless-next patches for v6.8 2024-01-02 12:46:10 +00:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
int_log.h
integrity.h
intel-ish-client-if.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
interconnect-clk.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
io_uring.h
io_uring_types.h for-6.8/io_uring-2024-01-08 2024-01-11 14:19:23 -08:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h iommufd for 6.8 2024-01-18 15:28:15 -08:00
iommufd.h
iopoll.h
ioport.h
ioprio.h block: make __get_task_ioprio() easier to read 2024-01-08 12:27:46 -07:00
ioremap.h
iosys-map.h
iov_iter.h
iova.h
iova_bitmap.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqdomain_defs.h
irqflags.h
irqflags_types.h
irqhandler.h
irqnr.h
irqreturn.h
isa-dma.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
ism.h net/smc: manage system EID in SMC stack instead of ISM driver 2023-12-26 20:24:33 +00:00
iversion.h
jbd2.h jbd2: remove unused 'JBD2_CHECKPOINT_IO_ERROR' and 'j_atomic_flags' 2024-01-04 23:42:21 -05:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h mm, kasan: use KASAN_TAG_KERNEL instead of 0xff 2023-12-29 11:58:44 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsan-checks.h
kmsan.h
kmsan_string.h
kmsan_types.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_api.h
kobject_ns.h
kprobes.h
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm: convert ksm_might_need_to_copy() to work on folios 2023-12-29 11:58:25 -08:00
kstrtox.h
kthread.h
ktime.h
ktime_api.h
kvm_dirty_ring.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-class-multicolor.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h ata: libata-sata: improve sysfs description for ATA_LPM_UNKNOWN 2024-01-22 22:26:03 +01:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h
livepatch_sched.h
llc.h
llist.h
llist_api.h
local_lock.h
local_lock_internal.h
lockdep.h
lockdep_api.h
lockdep_types.h header cleanups for 6.8 2024-01-10 16:43:55 -08:00
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h lsm: fix default return value of the socket_getpeersec_*() hooks 2024-01-30 17:01:54 -05:00
lsm_hooks.h
lwq.h
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple.h maple: make maple_bus_type static and const 2024-01-04 14:37:17 +01:00
maple_tree.h
marvell_phy.h
math.h
math64.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm/mglru: add CONFIG_LRU_GEN_WALKS_MMU 2024-01-05 10:17:44 -08:00
memfd.h
memory-tiers.h base/node / acpi: Change 'node_hmem_attrs' to 'access_coordinates' 2023-12-22 14:23:13 -08:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h mempool: introduce mempool_use_prealloc_only 2023-12-29 11:58:39 -08:00
memregion.h
memremap.h
memstick.h
mhi.h
mhi_ep.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mm.h New code for 6.8: 2024-01-10 08:45:22 -08:00
mm_api.h
mm_inline.h
mm_types.h IOMMU Updates for Linux v6.8 2024-01-18 15:16:57 -08:00
mm_types_task.h
mman.h mm: mmap: map MAP_STACK to VM_NOHUGEPAGE 2024-01-25 23:52:20 -08:00
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm, kmsan: fix infinite recursion due to RCU critical section 2024-01-25 23:52:21 -08:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
module.h Modules changes for v6.8-rc1 2024-01-10 18:00:18 -08:00
module_signature.h
module_symbol.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h moxtet: remove unused moxtet_type declaration 2024-01-04 17:01:14 +01:00
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h
msi_api.h
mtio.h
mutex.h header cleanups for 6.8 2024-01-10 16:43:55 -08:00
mutex_api.h
mutex_types.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net.h
net_tstamp.h
netdev_features.h
netdevice.h Revert "Introduce PHY listing and link_topology tracking" 2024-01-04 16:05:47 -08:00
netfilter.h
netfilter_bridge.h netfilter: bridge: replace physindev with physinif in nf_bridge_info 2024-01-17 12:02:49 +01:00
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfs.h netfs: Fix interaction between write-streaming and cachefiles culling 2024-01-05 15:42:25 +00:00
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h NFSv4, NFSD: move enum nfs_cb_opnum4 to include/linux/nfs4.h 2024-01-07 17:54:26 -05:00
nfs_fs.h nfs: Remove writepage 2024-01-04 10:47:56 -05:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h base/node / acpi: Change 'node_hmem_attrs' to 'access_coordinates' 2023-12-22 14:23:13 -08:00
nodemask.h
nodemask_types.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h nubus: Make nubus_bus_type static and constant 2024-01-03 13:33:59 +01:00
numa.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-keyring.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme: take const cmd pointer in read-only helpers 2024-01-31 16:06:12 -08:00
nvmem-consumer.h nvmem: core: add nvmem_dev_size() helper 2024-01-04 17:01:13 +01:00
nvmem-provider.h nvmem: drop nvmem_layout_get_match_data() 2024-01-04 17:01:13 +01:00
nvram.h
objagg.h
objpool.h
objtool.h
objtool_types.h
of.h
of_address.h
of_clk.h
of_device.h of: Stop circularly including of_device.h and of_platform.h 2024-01-19 08:17:28 -06:00
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h of: Stop circularly including of_device.h and of_platform.h 2024-01-19 08:17:28 -06:00
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
once_lite.h
oom.h
openvswitch.h
osq_lock.h locking/osq_lock: Move the definition of optimistic_spin_node into osq_lock.c 2023-12-30 10:25:51 -08:00
overflow.h
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER 2024-01-08 15:27:15 -08:00
pagemap.h LoongArch KVM changes for v6.8 2024-01-02 13:16:29 -05:00
pagevec.h
pagewalk.h
panic.h
panic_notifier.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h Merge branch 'pci/misc' 2024-01-15 12:10:41 -06:00
pci-epf.h Merge branch 'pci/misc' 2024-01-15 12:10:41 -06:00
pci-p2pdma.h
pci.h PCI/ASPM: Fix deadlock when enabling ASPM 2024-01-31 09:03:51 -06:00
pci_hotplug.h
pci_ids.h sound updates for 6.8-rc1 2024-01-12 11:55:28 -08:00
pcs-lynx.h
pcs-rzn1-miic.h
pe.h
peci-cpu.h
peci.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h
perf_event_api.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h RISC-V Patches for the 6.8 Merge Window, Part 1 2024-01-17 10:50:46 -08:00
pgtable_api.h
phonet.h
phy.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-01-04 18:06:46 -08:00
phy_fixed.h
phy_led_triggers.h
phylib_stubs.h
phylink.h net: phylink: move phylink_pcs_neg_mode() into phylink.c 2024-01-04 11:25:50 +00:00
pid.h
pid_namespace.h
pid_types.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
plist_types.h
pm-trace.h
pm.h PM: sleep: Restore asynchronous device resume optimization 2024-01-10 20:59:20 +01:00
pm_clock.h PM: clk: make pm_clk_add_notifier() take a const pointer 2024-01-04 14:35:57 +01:00
pm_domain.h
pm_opp.h OPP: Move dev_pm_opp_icc_bw to internal opp.h 2024-01-03 16:21:42 +05:30
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnp.h PNP: make pnp_bus_type const 2024-01-09 15:00:09 +01:00
poison.h
poll.h
polynomial.h
posix-clock.h
posix-timers.h
posix-timers_types.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps_kernel.h
pr.h
prandom.h
preempt.h preempt.h: Kill dependency on list.h 2023-12-27 11:49:56 -05:00
prefetch.h
prime_numbers.h
printk.h
prmt.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h Char/Misc and other Driver changes for 6.8-rc1 2024-01-17 16:47:17 -08:00
pruss_driver.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-platform-access.h
psp-sev.h
psp-tee.h
psp.h
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
ptp_mock.h
ptp_pch.h
ptr_ring.h
ptrace.h
ptrace_api.h
purgatory.h
pvclock_gtod.h
pwm.h pwm: linux/pwm.h: fix Excess kernel-doc description warning 2024-01-05 09:33:16 +01:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
randomize_kstack.h
range.h
ras.h
ratelimit.h
ratelimit_types.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rcu_node_tree.h
rcu_notifier.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_trace.h
rcupdate_wait.h Kill sched.h dependency on rcupdate.h 2023-12-27 11:50:20 -05:00
rcuref.h
rcutiny.h
rcutree.h
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h reboot: Introduce thermal_zone_device_critical_reboot() 2024-01-02 09:33:18 +01:00
reciprocal_div.h
ref_tracker.h
refcount.h
refcount_api.h
refcount_types.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
resume_user_mode.h rseq: Split out rseq.h from sched.h 2023-12-27 11:49:56 -05:00
rethook.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/rmap: silence VM_WARN_ON_FOLIO() in __folio_rmap_sanity_checks() 2024-01-05 10:17:43 -08:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rseq.h rseq: Split out rseq.h from sched.h 2023-12-27 11:49:56 -05:00
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rv.h
rwbase_rt.h
rwlock.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h
sbitmap.h
scatterlist.h
scc.h
sched.h exec: Distinguish in_execve from in_exec 2024-01-24 11:48:52 -08:00
sched_clock.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
seccomp.h
seccomp_types.h
secretmem.h
securebits.h
security.h lsm: new security_file_ioctl_compat() hook 2023-12-24 15:48:03 -05:00
sed-opal-key.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
sem_types.h
semaphore.h
seq_buf.h seq_buf: Make DECLARE_SEQ_BUF() usable 2024-01-18 09:22:02 -05:00
seq_file.h
seq_file_net.h
seqlock.h
seqlock_api.h
seqlock_types.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h serial: core: Update uart_poll_timeout() function to return unsigned long 2024-01-04 16:20:05 +01:00
serial_max3100.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfp.h Revert "Introduce PHY listing and link_topology tracking" 2024-01-04 16:05:47 -08:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h netfilter: bridge: replace physindev with physinif in nf_bridge_info 2024-01-17 12:02:49 +01:00
skmsg.h udp: fix busy polling 2024-01-21 18:09:30 +00:00
slab.h Many singleton patches against the MM code. The patch series which 2024-01-09 11:18:47 -08:00
slimbus.h
sm501-regs.h
sm501.h
smc91x.h
smp.h
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h header cleanup fixup for 6.8-rc1 2024-01-21 10:21:43 -08:00
spinlock_api.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_rt.h
spinlock_types.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sprintf.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h lib/stackdepot: fix comment in include/linux/stackdepot.h 2023-12-29 11:58:42 -08:00
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_call.h
static_call_types.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h Revert "net: stmmac: Enable Per DMA Channel interrupt" 2024-01-07 17:12:11 -08:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h string: Remove strlcpy() 2024-01-19 11:59:11 -08:00
string_choices.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
surface_acpi_notify.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swait_api.h
swap.h mm: remove page_swap_info() 2023-12-29 11:58:32 -08:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscall_user_dispatch.h
syscall_user_dispatch_types.h
syscalls.h x86/entry/ia32: Ensure s32 is sign extended to s64 2024-01-24 11:49:19 +01:00
syscalls_api.h
syscore_ops.h
sysctl.h sysctl: remove struct ctl_path 2023-12-28 05:02:42 -08:00
sysfb.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
tegra-icc.h
termios_internal.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h More thermal control updates for 6.8-rc1 2024-01-17 14:47:33 -08:00
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time_namespace.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timer_types.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timerqueue_types.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h
trace_recursion.h
trace_seq.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tsm.h
tty.h TTY/Serial changes for 6.8-rc1 2024-01-18 11:37:24 -08:00
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
typecheck.h
types.h
u64_stats_sync.h
u64_stats_sync_api.h
uacce.h
uaccess.h
ubsan.h
ucs2_string.h
udp.h
uidgid.h header cleanups for 6.8 2024-01-10 16:43:55 -08:00
uidgid_types.h
uio.h
uio_driver.h
umh.h
unicode.h
units.h
uprobes.h
usb.h USB: core: Use device_driver directly in struct usb_driver and usb_device_driver 2024-01-04 16:06:32 +01:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_events.h
user_namespace.h
userfaultfd_k.h userfaultfd: UFFDIO_MOVE uABI 2023-12-29 11:58:24 -08:00
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfio_pci_core.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via-core.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_anchor.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_dma_buf.h
virtio_net.h net: add more sanity check in virtio_net_hdr_to_skb() 2024-01-13 18:06:23 +00:00
virtio_pci_admin.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
vm_event_item.h
vmalloc.h
vmpressure.h
vmstat.h mm/memcontrol: remove __mod_lruvec_page_state() 2024-01-05 10:17:47 -08:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1.h
wait.h
wait_api.h
wait_bit.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wm97xx.h
wmi.h platform/x86: wmi: linux/wmi.h: fix Excess kernel-doc description warning 2024-01-02 13:31:48 +01:00
workqueue.h header cleanups for 6.8 2024-01-10 16:43:55 -08:00
workqueue_api.h
workqueue_types.h
writeback.h vfs-6.8.netfs 2024-01-19 09:10:23 -08:00
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zstd_errors.h
zstd_lib.h
zswap.h zswap: memcontrol: implement zswap writeback disabling 2023-12-29 20:22:11 -08:00
zutil.h