Files
kernel_realme_nemo/include/linux
Matthew Wilcox bf5fefeaa6 xarray: add the xa_lock to the radix_tree_root
This results in no change in structure size on 64-bit machines as it
fits in the padding between the gfp_t and the void *.  32-bit machines
will grow the structure from 8 to 12 bytes.  Almost all radix trees are
protected with (at least) a spinlock, so as they are converted from
radix trees to xarrays, the data structures will shrink again.

Initialising the spinlock requires a name for the benefit of lockdep, so
RADIX_TREE_INIT() now needs to know the name of the radix tree it's
initialising, and so do IDR_INIT() and IDA_INIT().

Also add the xa_lock() and xa_unlock() family of wrappers to make it
easier to use the lock.  If we could rely on -fplan9-extensions in the
compiler, we could avoid all of this syntactic sugar, but that wasn't
added until gcc 4.6.

Link:
http://lkml.kernel.org/r/20180313132639.17387-8-willy@infradead.org
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Cc: Darrick J. Wong <darrick.wong@oracle.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[RealJohnGalt: adapt to 4.14]

Change-Id: Iea510d7f531356e14be1b9c002df075629c2f729
Signed-off-by: Naveen <133593113+elohim-etz@users.noreply.github.com>
2026-01-20 14:21:40 +00:00
..
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2025-12-24 11:16:57 +00:00
2022-08-17 15:18:46 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2022-10-26 13:17:05 +02:00
2025-09-21 09:20:40 +00:00
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2020-03-03 00:04:10 +08:00
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2023-12-20 15:32:35 +01:00
2019-11-24 08:22:48 +01:00
2021-12-08 08:46:55 +01:00
2021-12-25 18:03:37 +05:30
2026-01-20 14:21:40 +00:00
2020-04-02 16:34:21 +02:00
2021-12-25 18:03:37 +05:30
2020-03-03 00:04:10 +08:00
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-03-03 18:58:56 +01:00
2020-01-13 19:40:11 +00:00
2019-12-17 21:13:36 +01:00
2021-03-03 18:58:56 +01:00
2022-08-25 11:11:25 +02:00
2021-02-07 14:47:41 +01:00
2020-09-09 19:35:54 +02:00
2025-09-21 09:20:40 +00:00
2021-12-25 18:03:37 +05:30
2019-12-31 12:37:21 +01:00
2021-07-11 12:48:09 +02:00
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2020-06-16 12:53:13 -07:00
2020-03-20 10:54:12 +01:00
2019-08-12 13:29:46 -04:00
2021-12-25 18:03:37 +05:30
2020-06-05 16:00:11 +08:00
2021-12-25 18:03:37 +05:30
2025-12-24 11:23:19 +00:00
2023-11-28 16:45:44 +00:00
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30
2020-04-02 16:34:36 +02:00
2021-12-25 18:03:37 +05:30
2020-08-01 00:48:35 +08:00
2021-12-25 18:03:37 +05:30
2025-12-24 11:16:57 +00:00
2020-04-02 16:34:36 +02:00
2021-12-14 10:16:55 +01:00
2021-12-25 18:03:37 +05:30
2021-12-25 18:03:37 +05:30