|
@@ -89,6 +89,7 @@ struct thread_info {
|
|
|
#define TIF_NOTSC 16 /* TSC is not accessible in userland */
|
|
|
#define TIF_IA32 17 /* IA32 compatibility process */
|
|
|
#define TIF_FORK 18 /* ret_from_fork */
|
|
|
+#define TIF_NOHZ 19 /* in adaptive nohz mode */
|
|
|
#define TIF_MEMDIE 20 /* is terminating due to OOM killer */
|
|
|
#define TIF_DEBUG 21 /* uses debug registers */
|
|
|
#define TIF_IO_BITMAP 22 /* uses I/O bitmap */
|
|
@@ -114,6 +115,7 @@ struct thread_info {
|
|
|
#define _TIF_NOTSC (1 << TIF_NOTSC)
|
|
|
#define _TIF_IA32 (1 << TIF_IA32)
|
|
|
#define _TIF_FORK (1 << TIF_FORK)
|
|
|
+#define _TIF_NOHZ (1 << TIF_NOHZ)
|
|
|
#define _TIF_DEBUG (1 << TIF_DEBUG)
|
|
|
#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
|
|
|
#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
|
|
@@ -126,12 +128,13 @@ struct thread_info {
|
|
|
/* work to do in syscall_trace_enter() */
|
|
|
#define _TIF_WORK_SYSCALL_ENTRY \
|
|
|
(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_EMU | _TIF_SYSCALL_AUDIT | \
|
|
|
- _TIF_SECCOMP | _TIF_SINGLESTEP | _TIF_SYSCALL_TRACEPOINT)
|
|
|
+ _TIF_SECCOMP | _TIF_SINGLESTEP | _TIF_SYSCALL_TRACEPOINT | \
|
|
|
+ _TIF_NOHZ)
|
|
|
|
|
|
/* work to do in syscall_trace_leave() */
|
|
|
#define _TIF_WORK_SYSCALL_EXIT \
|
|
|
(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SINGLESTEP | \
|
|
|
- _TIF_SYSCALL_TRACEPOINT)
|
|
|
+ _TIF_SYSCALL_TRACEPOINT | _TIF_NOHZ)
|
|
|
|
|
|
/* work to do on interrupt/exception return */
|
|
|
#define _TIF_WORK_MASK \
|
|
@@ -141,7 +144,8 @@ struct thread_info {
|
|
|
|
|
|
/* work to do on any return to user space */
|
|
|
#define _TIF_ALLWORK_MASK \
|
|
|
- ((0x0000FFFF & ~_TIF_SECCOMP) | _TIF_SYSCALL_TRACEPOINT)
|
|
|
+ ((0x0000FFFF & ~_TIF_SECCOMP) | _TIF_SYSCALL_TRACEPOINT | \
|
|
|
+ _TIF_NOHZ)
|
|
|
|
|
|
/* Only used for 64 bit */
|
|
|
#define _TIF_DO_NOTIFY_MASK \
|