mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-03 23:37:40 -04:00
vdso: Introduce vdso/cache.h
The vDSO implementation can only include headers from the vdso/ namespace. To enable the usage of ____cacheline_aligned from the vDSO, move it and its dependencies into a new header vdso/cache.h. Keep compatibility by including vdso/cache.h from linux/cache.h. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250303-vdso-clock-v1-1-c1b5c69a166f@linutronix.de
This commit is contained in:
committed by
Thomas Gleixner
parent
8770a9183f
commit
0704bf4396
@@ -3,16 +3,13 @@
|
||||
#define __LINUX_CACHE_H
|
||||
|
||||
#include <uapi/linux/kernel.h>
|
||||
#include <vdso/cache.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
#ifndef L1_CACHE_ALIGN
|
||||
#define L1_CACHE_ALIGN(x) __ALIGN_KERNEL(x, L1_CACHE_BYTES)
|
||||
#endif
|
||||
|
||||
#ifndef SMP_CACHE_BYTES
|
||||
#define SMP_CACHE_BYTES L1_CACHE_BYTES
|
||||
#endif
|
||||
|
||||
/**
|
||||
* SMP_CACHE_ALIGN - align a value to the L2 cacheline size
|
||||
* @x: value to align
|
||||
@@ -63,10 +60,6 @@
|
||||
#define __ro_after_init __section(".data..ro_after_init")
|
||||
#endif
|
||||
|
||||
#ifndef ____cacheline_aligned
|
||||
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
|
||||
#endif
|
||||
|
||||
#ifndef ____cacheline_aligned_in_smp
|
||||
#ifdef CONFIG_SMP
|
||||
#define ____cacheline_aligned_in_smp ____cacheline_aligned
|
||||
|
||||
15
include/vdso/cache.h
Normal file
15
include/vdso/cache.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __VDSO_CACHE_H
|
||||
#define __VDSO_CACHE_H
|
||||
|
||||
#include <asm/cache.h>
|
||||
|
||||
#ifndef SMP_CACHE_BYTES
|
||||
#define SMP_CACHE_BYTES L1_CACHE_BYTES
|
||||
#endif
|
||||
|
||||
#ifndef ____cacheline_aligned
|
||||
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
|
||||
#endif
|
||||
|
||||
#endif /* __VDSO_ALIGN_H */
|
||||
Reference in New Issue
Block a user