1
linux/lib
Linus Torvalds cb69d86550 Updates for the interrupt subsystem:
- Core:
 	- Remove a global lock in the affinity setting code
 
 	  The lock protects a cpumask for intermediate results and the lock
 	  causes a bottleneck on simultaneous start of multiple virtual
 	  machines. Replace the lock and the static cpumask with a per CPU
 	  cpumask which is nicely serialized by raw spinlock held when
 	  executing this code.
 
 	- Provide support for giving a suffix to interrupt domain names.
 
 	  That's required to support devices with subfunctions so that the
 	  domain names are distinct even if they originate from the same
 	  device node.
 
 	- The usual set of cleanups and enhancements all over the place
 
   - Drivers:
 
 	- Support for longarch AVEC interrupt chip
 
 	- Refurbishment of the Armada driver so it can be extended for new
           variants.
 
 	- The usual set of cleanups and enhancements all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmbn5p8THHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoRFtD/43eB3h5usY2OPW0JmDqrE6qnzsvjPZ
 1H52BcmMcOuI6yCfTnbi/fBB52mwSEGq9Dmt1GXradyq9/CJDIqZ1ajI1rA2jzW2
 YdbeTDpKm1rS2ddzfp2LT2BryrNt+7etrRO7qHn4EKSuOcNuV2f58WPbIIqasvaK
 uPbUDVDPrvXxLNcjoab6SqaKrEoAaHSyKpd0MvDd80wHrtcSC/QouW7JDSUXv699
 RwvLebN1OF6mQ2J8Z3DLeCQpcbAs+UT8UvID7kYUJi1g71J/ZY+xpMLoX/gHiDNr
 isBtsuEAiZeNaFpksc7A6Jgu5ljZf2/aLCqbPLlHaduHFNmo94x9KUbIF2cpEMN+
 rsf5Ff7AVh1otz3cUwLLsm+cFLWRRoZdLuncn7rrgB4Yg0gll7qzyLO6YGvQHr8U
 Ocj1RXtvvWsMk4XzhgCt1AH/42cO6go+bhA4HspeYykNpsIldIUl1MeFbO8sWiDJ
 kybuwiwHp3oaMLjEK4Lpq65u7Ll8Lju2zRde65YUJN2nbNmJFORrOLmeC1qsr6ri
 dpend6n2qD9UD1oAt32ej/uXnG160nm7UKescyxiZNeTm1+ez8GW31hY128ifTY3
 4R3urGS38p3gazXBsfw6eqkeKx0kEoDNoQqrO5gBvb8kowYTvoZtkwMGAN9OADwj
 w6vvU0i+NIyVMA==
 =JlJ2
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2024-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq updates from Thomas Gleixner:
 "Core:

   - Remove a global lock in the affinity setting code

     The lock protects a cpumask for intermediate results and the lock
     causes a bottleneck on simultaneous start of multiple virtual
     machines. Replace the lock and the static cpumask with a per CPU
     cpumask which is nicely serialized by raw spinlock held when
     executing this code.

   - Provide support for giving a suffix to interrupt domain names.

     That's required to support devices with subfunctions so that the
     domain names are distinct even if they originate from the same
     device node.

   - The usual set of cleanups and enhancements all over the place

  Drivers:

   - Support for longarch AVEC interrupt chip

   - Refurbishment of the Armada driver so it can be extended for new
     variants.

   - The usual set of cleanups and enhancements all over the place"

* tag 'irq-core-2024-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (73 commits)
  genirq: Use cpumask_intersects()
  genirq/cpuhotplug: Use cpumask_intersects()
  irqchip/apple-aic: Only access system registers on SoCs which provide them
  irqchip/apple-aic: Add a new "Global fast IPIs only" feature level
  irqchip/apple-aic: Skip unnecessary enabling of use_fast_ipi
  dt-bindings: apple,aic: Document A7-A11 compatibles
  irqdomain: Use IS_ERR_OR_NULL() in irq_domain_trim_hierarchy()
  genirq/msi: Use kmemdup_array() instead of kmemdup()
  genirq/proc: Change the return value for set affinity permission error
  genirq/proc: Use irq_move_pending() in show_irq_affinity()
  genirq/proc: Correctly set file permissions for affinity control files
  genirq: Get rid of global lock in irq_do_set_affinity()
  genirq: Fix typo in struct comment
  irqchip/loongarch-avec: Add AVEC irqchip support
  irqchip/loongson-pch-msi: Prepare get_pch_msi_handle() for AVECINTC
  irqchip/loongson-eiointc: Rename CPUHP_AP_IRQ_LOONGARCH_STARTING
  LoongArch: Architectural preparation for AVEC irqchip
  LoongArch: Move irqchip function prototypes to irq-loongson.h
  irqchip/loongson-pch-msi: Switch to MSI parent domains
  softirq: Remove unused 'action' parameter from action callback
  ...
2024-09-17 07:09:17 +02:00
..
842
crypto crypto: lib/mpi - Add error checks to extension 2024-08-17 13:55:50 +08:00
dim dim: add new interfaces for initialization and getting results 2024-06-25 17:15:06 -07:00
fonts lib/fonts: Fix visiblity of SUN12x22 and TER16x32 if DRM_PANIC 2024-06-24 13:18:02 +02:00
kunit kunit: Device wrappers should also manage driver name 2024-08-26 07:03:46 -06:00
lz4
lzo
math - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
pldmfw
raid6 lib/raid6: use CC_FLAGS_FPU for NEON CFLAGS 2024-05-19 14:36:18 -07:00
reed_solomon
test_fortify
vdso random: vDSO: reject unknown getrandom() flags 2024-08-26 09:58:52 +02:00
xz
zlib_deflate lib/zlib: add missing MODULE_DESCRIPTION() macro 2024-07-04 23:43:11 -07:00
zlib_dfltcc lib/zlib: unpoison DFLTCC output buffers 2024-07-03 19:30:23 -07:00
zlib_inflate
zstd
.gitignore
alloc_tag.c sysctl changes for 6.11-rc1 2024-07-16 14:24:29 -07:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c
asn1_encoder.c lib/asn1_encoder: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:06 -07:00
assoc_array.c
atomic64_test.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/*_test.ko 2024-06-24 22:25:06 -07:00
atomic64.c
audit.c
base64.c
bcd.c
bch.c lib/bch.c: use swap() to improve code 2024-07-12 16:39:53 -07:00
bitfield_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
bitmap-str.c
bitmap.c
bitrev.c
bootconfig-data.S
bootconfig.c bootconfig: Remove duplicate included header file linux/bootconfig.h 2024-07-12 08:55:02 +09:00
bsearch.c
btree.c minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
bucket_locks.c
bug.c
build_OID_registry lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat 2024-07-06 11:39:51 -07:00
buildid.c build-id: require program headers to be right after ELF header 2024-06-28 19:36:30 -07:00
bust_spinlocks.c
check_signature.c
checksum_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
checksum.c
closure.c closures: fix closure_sync + closure debugging 2024-07-10 09:53:39 -04:00
clz_ctz.c
clz_tab.c
cmdline_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
cmdline.c
cmpdi2.c
cmpxchg-emu.c
codetag.c alloc_tag: fix allocation tag reporting when CONFIG_MODULES=n 2024-09-01 17:59:03 -07:00
compat_audit.c
cpu_rmap.c
cpumask_kunit.c lib: bitmap: add missing MODULE_DESCRIPTION() macros 2024-06-18 10:40:52 -07:00
cpumask.c
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c
crc32defs.h
crc32test.c
crc64-rocksoft.c
crc64.c
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Annotate racy debug variables 2024-06-24 16:46:43 +02:00
dec_and_lock.c
decompress_bunzip2.c decompress_bunzip2: fix rare decompression failure 2024-07-26 14:33:09 -07:00
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
decompress_unlzo.c
decompress_unxz.c
decompress_unzstd.c
decompress.c
devmem_is_allowed.c
devres.c
dhry_1.c
dhry_2.c
dhry_run.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
dhry.h
digsig.c
dump_stack.c lib/dump_stack: report process UID in dump_stack_print_info() 2024-06-24 22:25:11 -07:00
dynamic_debug.c
dynamic_queue_limits.c
earlycpio.c
errname.c
error-inject.c
errseq.c
extable.c
fault-inject-usercopy.c
fault-inject.c
fdt_addresses.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
fdt.c
find_bit_benchmark.c lib: bitmap: add missing MODULE_DESCRIPTION() macros 2024-06-18 10:40:52 -07:00
find_bit.c bitmap patches for 6.10 2024-05-21 15:29:01 -07:00
flex_proportions.c
fortify_kunit.c - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
fw_table.c
gen_crc32table.c
gen_crc64table.c
genalloc.c
generic-radix-tree.c lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() 2024-08-13 22:56:50 -04:00
glob.c
globtest.c
group_cpus.c
hashtable_test.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/*_test.ko 2024-06-24 22:25:06 -07:00
hexdump.c
hweight.c
idr.c
inflate.c
interval_tree_test.c
interval_tree.c
iomap_copy.c
iomap.c
iommu-helper.c
iov_iter.c mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios 2024-09-12 12:20:21 +02:00
irq_poll.c softirq: Remove unused 'action' parameter from action callback 2024-08-20 17:13:40 +02:00
irq_regs.c
is_signed_type_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
is_single_threaded.c
kasprintf.c
Kconfig dim: make DIMLIB dependent on NET 2024-06-25 17:15:06 -07:00
Kconfig.debug - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
Kconfig.kasan
Kconfig.kcsan
Kconfig.kfence
Kconfig.kgdb
Kconfig.kmsan
Kconfig.ubsan ubsan: Restore dependency on ARCH_HAS_UBSAN 2024-05-18 13:46:10 -07:00
kfifo.c TTY/Serial changes for 6.10-rc1 2024-05-22 11:53:02 -07:00
klist.c
kobject_uevent.c kobject_uevent: Fix OOB access within zap_modalias_env() 2024-06-12 13:24:05 +02:00
kobject.c
kstrtox.c
kstrtox.h
kunit_iov_iter.c mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios 2024-09-12 12:20:21 +02:00
libcrc32c.c
linear_ranges.c
list_debug.c
list_sort.c
list-test.c list: test: add the missing MODULE_DESCRIPTION() macro 2024-06-07 15:59:15 -06:00
llist.c
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-rtmutex.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c
lockref.c
logic_iomem.c
logic_pio.c
lru_cache.c
lshrdi3.c
lwq.c
Makefile linux_kselftest-kunit-6.11-rc1 2024-07-16 17:42:14 -07:00
maple_tree.c maple_tree: remove rcu_read_lock() from mt_validate() 2024-09-01 17:59:01 -07:00
memcat_p.c
memcpy_kunit.c kunit/fortify: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:05 -07:00
memory-notifier-error-inject.c
memregion.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c
nmi_backtrace.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c mlxsw: spectrum_acl_erp: Fix object nesting warning 2024-06-10 11:14:52 +01:00
objpool.c
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c
overflow_kunit.c kunit/overflow: Fix UB in overflow_allocation_test 2024-08-15 09:24:55 -07:00
packing.c
parman.c
parser.c
percpu_counter.c percpu_counter: add a cmpxchg-based _add_batch variant 2024-06-24 22:25:03 -07:00
percpu_test.c
percpu-refcount.c
plist.c lib/plist.c: avoid worst case scenario in plist_add 2024-06-24 22:25:10 -07:00
pm-notifier-error-inject.c
polynomial.c
radix-tree.c
radix-tree.h
random32.c
ratelimit.c
rbtree_test.c
rbtree.c lib/rbtree.c: fix the example typo 2024-07-04 23:43:10 -07:00
rcuref.c
ref_tracker.c
refcount.c
rhashtable.c
sbitmap.c sbitmap: fix io hung due to race on sbitmap_word::cleared 2024-07-19 09:39:32 -06:00
scatterlist.c mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios 2024-09-12 12:20:21 +02:00
seq_buf.c
sg_pool.c
sg_split.c
siphash_kunit.c siphash: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:07 -07:00
siphash.c
slub_kunit.c mm, slab: don't wrap internal functions with alloc_hooks() 2024-05-28 09:27:50 +02:00
smp_processor_id.c
sort.c lib/sort: optimize heapsort for handling final 2 or 3 elements 2024-06-24 22:25:03 -07:00
stackdepot.c stackdepot: use gfp_nested_mask() instead of open coded masking 2024-05-19 14:40:44 -07:00
stackinit_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
stmp_device.c
string_helpers_kunit.c string: kunit: add missing MODULE_DESCRIPTION() macros 2024-06-28 08:54:55 -07:00
string_helpers.c
string_kunit.c string: kunit: add missing MODULE_DESCRIPTION() macros 2024-06-28 08:54:55 -07:00
string.c
strncpy_from_user.c
strnlen_user.c
syscall.c
test_bitmap.c lib: bitmap: add missing MODULE_DESCRIPTION() macros 2024-06-18 10:40:52 -07:00
test_bitops.c lib/test_bitops: Add benchmark test for fns() 2024-05-09 09:25:08 -07:00
test_bits.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_blackhole_dev.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_bpf.c netdev_features: convert NETIF_F_LLTX to dev->lltx 2024-09-03 11:36:43 +02:00
test_debug_virtual.c
test_dynamic_debug.c dyndbg: add missing MODULE_DESCRIPTION() macro 2024-06-04 17:40:02 +02:00
test_firmware.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_fprobe.c
test_fpu_glue.c selftests/fpu: add missing MODULE_DESCRIPTION() macro 2024-06-28 19:36:30 -07:00
test_fpu_impl.c selftests/fpu: move FP code to a separate translation unit 2024-05-19 14:36:20 -07:00
test_fpu.h selftests/fpu: move FP code to a separate translation unit 2024-05-19 14:36:20 -07:00
test_free_pages.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_hash.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_hexdump.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_hmm_uapi.h
test_hmm.c lib: test_hmm: add missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test_ida.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_kmod.c lib/test_kmod: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:07 -07:00
test_kprobes.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_linear_ranges.c lib/test_linear_ranges: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:07 -07:00
test_list_sort.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_lockup.c
test_maple_tree.c test_maple_tree: add the missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test_memcat_p.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_meminit.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_min_heap.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_module.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_objagg.c lib: test_objagg: Fix spelling 2024-06-10 11:14:52 +01:00
test_objpool.c
test_parman.c
test_printf.c vsprintf: add missing MODULE_DESCRIPTION() macro 2024-06-12 13:26:28 +02:00
test_ref_tracker.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_rhashtable.c lib/test_rhashtable: add missing MODULE_DESCRIPTION() macro 2024-06-03 18:51:18 -07:00
test_scanf.c vsprintf: add missing MODULE_DESCRIPTION() macro 2024-06-12 13:26:28 +02:00
test_sort.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_static_key_base.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_static_keys.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_sysctl.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_ubsan.c ubsan: add missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test_uuid.c uuid: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:06 -07:00
test_vmalloc.c
test_xarray.c test_xarray: add missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test-kstrtox.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
textsearch.c
timerqueue.c
trace_readwrite.c
ts_bm.c lib/ts: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:04 -07:00
ts_fsm.c lib/ts: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:04 -07:00
ts_kmp.c lib/ts: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:04 -07:00
ubsan.c
ubsan.h
ucmpdi2.c
ucs2_string.c
usercopy_kunit.c kunit/usercopy: Add missing MODULE_DESCRIPTION() 2024-07-02 10:11:45 -06:00
usercopy.c uaccess: always export _copy_[from|to]_user with CONFIG_RUST 2024-07-08 23:44:01 +02:00
uuid.c
vsprintf.c minmax: don't use max() in situations that want a C constant expression 2024-07-28 20:23:27 -07:00
win_minmax.c
xarray.c The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
xxhash.c