From 6778948f9de86c3cfaf36725a7c87dcff9ba247f Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 11 Dec 2023 08:20:59 +0000 Subject: [PATCH] kernel_5.10 no rt --- kernel/include/linux/sched.h | 122 +--------------------------------------- 1 files changed, 4 insertions(+), 118 deletions(-) diff --git a/kernel/include/linux/sched.h b/kernel/include/linux/sched.h index 0a13559..d3cc279 100644 --- a/kernel/include/linux/sched.h +++ b/kernel/include/linux/sched.h @@ -113,7 +113,11 @@ __TASK_TRACED | EXIT_DEAD | EXIT_ZOMBIE | \ TASK_PARKED) +#define task_is_traced(task) ((task->state & __TASK_TRACED) != 0) + #define task_is_stopped(task) ((task->state & __TASK_STOPPED) != 0) + +#define task_is_stopped_or_traced(task) ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) #ifdef CONFIG_DEBUG_ATOMIC_SLEEP @@ -137,9 +141,6 @@ current->task_state_change = _THIS_IP_; \ smp_store_mb(current->state, (state_value)); \ } while (0) - -#define __set_current_state_no_track(state_value) \ - current->state = (state_value); #define set_special_state(state_value) \ do { \ @@ -193,9 +194,6 @@ #define set_current_state(state_value) \ smp_store_mb(current->state, (state_value)) - -#define __set_current_state_no_track(state_value) \ - __set_current_state(state_value) /* * set_special_state() should be used for those states when the blocking task @@ -655,13 +653,6 @@ struct wake_q_node *next; }; -struct kmap_ctrl { -#ifdef CONFIG_KMAP_LOCAL - int idx; - pte_t pteval[KM_MAX_IDX]; -#endif -}; - struct task_struct { #ifdef CONFIG_THREAD_INFO_IN_TASK /* @@ -672,8 +663,6 @@ #endif /* -1 unrunnable, 0 runnable, >0 stopped: */ volatile long state; - /* saved state for "spinlock sleepers" */ - volatile long saved_state; /* * This begins the randomizable portion of task_struct. Only @@ -753,11 +742,6 @@ int nr_cpus_allowed; const cpumask_t *cpus_ptr; cpumask_t cpus_mask; - void *migration_pending; -#ifdef CONFIG_SMP - unsigned short migration_disabled; -#endif - unsigned short migration_flags; #ifdef CONFIG_PREEMPT_RCU int rcu_read_lock_nesting; @@ -862,10 +846,6 @@ #ifdef CONFIG_PSI /* Stalled due to lack of memory */ unsigned in_memstall:1; -#endif -#ifdef CONFIG_EVENTFD - /* Recursion prevention for eventfd_signal() */ - unsigned in_eventfd_signal:1; #endif unsigned long atomic_flags; /* Flags requiring atomic access. */ @@ -1012,16 +992,11 @@ /* Signal handlers: */ struct signal_struct *signal; struct sighand_struct __rcu *sighand; - struct sigqueue *sigqueue_cache; sigset_t blocked; sigset_t real_blocked; /* Restored if set_restore_sigmask() was used: */ sigset_t saved_sigmask; struct sigpending pending; -#ifdef CONFIG_PREEMPT_RT - /* TODO: move me into ->restart_block ? */ - struct kernel_siginfo forced_info; -#endif unsigned long sas_ss_sp; size_t sas_ss_size; unsigned int sas_ss_flags; @@ -1048,7 +1023,6 @@ raw_spinlock_t pi_lock; struct wake_q_node wake_q; - struct wake_q_node wake_q_sleeper; int wake_q_count; #ifdef CONFIG_RT_MUTEXES @@ -1076,9 +1050,6 @@ int softirqs_enabled; int softirq_context; int irq_config; -#endif -#ifdef CONFIG_PREEMPT_RT - int softirq_disable_cnt; #endif #ifdef CONFIG_LOCKDEP @@ -1365,7 +1336,6 @@ unsigned int sequential_io; unsigned int sequential_io_avg; #endif - struct kmap_ctrl kmap_ctrl; #ifdef CONFIG_DEBUG_ATOMIC_SLEEP unsigned long task_state_change; #endif @@ -1834,7 +1804,6 @@ extern int wake_up_state(struct task_struct *tsk, unsigned int state); extern int wake_up_process(struct task_struct *tsk); -extern int wake_up_lock_sleeper(struct task_struct *tsk); extern void wake_up_new_task(struct task_struct *tsk); #ifdef CONFIG_SMP @@ -1923,89 +1892,6 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) { return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED)); -} - -#ifdef CONFIG_PREEMPT_LAZY -static inline void set_tsk_need_resched_lazy(struct task_struct *tsk) -{ - set_tsk_thread_flag(tsk,TIF_NEED_RESCHED_LAZY); -} - -static inline void clear_tsk_need_resched_lazy(struct task_struct *tsk) -{ - clear_tsk_thread_flag(tsk,TIF_NEED_RESCHED_LAZY); -} - -static inline int test_tsk_need_resched_lazy(struct task_struct *tsk) -{ - return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED_LAZY)); -} - -static inline int need_resched_lazy(void) -{ - return test_thread_flag(TIF_NEED_RESCHED_LAZY); -} - -static inline int need_resched_now(void) -{ - return test_thread_flag(TIF_NEED_RESCHED); -} - -#else -static inline void clear_tsk_need_resched_lazy(struct task_struct *tsk) { } -static inline int need_resched_lazy(void) { return 0; } - -static inline int need_resched_now(void) -{ - return test_thread_flag(TIF_NEED_RESCHED); -} - -#endif - - -static inline bool __task_is_stopped_or_traced(struct task_struct *task) -{ - if (task->state & (__TASK_STOPPED | __TASK_TRACED)) - return true; -#ifdef CONFIG_PREEMPT_RT - if (task->saved_state & (__TASK_STOPPED | __TASK_TRACED)) - return true; -#endif - return false; -} - -static inline bool task_is_stopped_or_traced(struct task_struct *task) -{ - bool traced_stopped; - -#ifdef CONFIG_PREEMPT_RT - unsigned long flags; - - raw_spin_lock_irqsave(&task->pi_lock, flags); - traced_stopped = __task_is_stopped_or_traced(task); - raw_spin_unlock_irqrestore(&task->pi_lock, flags); -#else - traced_stopped = __task_is_stopped_or_traced(task); -#endif - return traced_stopped; -} - -static inline bool task_is_traced(struct task_struct *task) -{ - bool traced = false; - - if (task->state & __TASK_TRACED) - return true; -#ifdef CONFIG_PREEMPT_RT - /* in case the task is sleeping on tasklist_lock */ - raw_spin_lock_irq(&task->pi_lock); - if (task->state & __TASK_TRACED) - traced = true; - else if (task->saved_state & __TASK_TRACED) - traced = true; - raw_spin_unlock_irq(&task->pi_lock); -#endif - return traced; } /* -- Gitblit v1.6.2