]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - arch/x86/include/asm/thread_info.h
x86-preempt-lazy.patch
[zynq/linux.git] / arch / x86 / include / asm / thread_info.h
index 1d4e4f279a3281e094684ad29bd4b544d37af6ab..a8b06504d532a6925c3cade9150c03ac0aefcfbf 100644 (file)
@@ -30,6 +30,8 @@ struct thread_info {
        __u32                   status;         /* thread synchronous flags */
        __u32                   cpu;            /* current CPU */
        int                     saved_preempt_count;
+       int                     preempt_lazy_count;     /* 0 => lazy preemptable
+                                                        <0  => BUG */
        mm_segment_t            addr_limit;
        void __user             *sysenter_return;
        unsigned int            sig_on_uaccess_error:1;
@@ -71,6 +73,7 @@ struct thread_info {
 #define TIF_SYSCALL_EMU                6       /* syscall emulation active */
 #define TIF_SYSCALL_AUDIT      7       /* syscall auditing active */
 #define TIF_SECCOMP            8       /* secure computing */
+#define TIF_NEED_RESCHED_LAZY  9       /* lazy rescheduling necessary */
 #define TIF_USER_RETURN_NOTIFY 11      /* notify kernel of userspace return */
 #define TIF_UPROBE             12      /* breakpointed or singlestepping */
 #define TIF_NOTSC              16      /* TSC is not accessible in userland */
@@ -95,6 +98,7 @@ struct thread_info {
 #define _TIF_SYSCALL_EMU       (1 << TIF_SYSCALL_EMU)
 #define _TIF_SYSCALL_AUDIT     (1 << TIF_SYSCALL_AUDIT)
 #define _TIF_SECCOMP           (1 << TIF_SECCOMP)
+#define _TIF_NEED_RESCHED_LAZY (1 << TIF_NEED_RESCHED_LAZY)
 #define _TIF_USER_RETURN_NOTIFY        (1 << TIF_USER_RETURN_NOTIFY)
 #define _TIF_UPROBE            (1 << TIF_UPROBE)
 #define _TIF_NOTSC             (1 << TIF_NOTSC)
@@ -144,6 +148,8 @@ struct thread_info {
 #define _TIF_WORK_CTXSW_PREV (_TIF_WORK_CTXSW|_TIF_USER_RETURN_NOTIFY)
 #define _TIF_WORK_CTXSW_NEXT (_TIF_WORK_CTXSW)
 
+#define _TIF_NEED_RESCHED_MASK (_TIF_NEED_RESCHED | _TIF_NEED_RESCHED_LAZY)
+
 #define STACK_WARN             (THREAD_SIZE/8)
 #define KERNEL_STACK_OFFSET    (5*(BITS_PER_LONG/8))