From 50a212ec906f7524620675f0c57357691c26c81f Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 16 Oct 2024 01:20:19 +0000 Subject: [PATCH] 修改GPIO导出默认初始值 --- kernel/include/linux/sched.h | 126 ++--------------------------------------- 1 files changed, 7 insertions(+), 119 deletions(-) diff --git a/kernel/include/linux/sched.h b/kernel/include/linux/sched.h index 0a13559..a9427da 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 @@ -1717,7 +1687,6 @@ } extern int cpuset_cpumask_can_shrink(const struct cpumask *cur, const struct cpumask *trial); -extern int task_can_attach(struct task_struct *p, const struct cpumask *cs_effective_cpus); #ifdef CONFIG_RT_SOFTINT_OPTIMIZATION extern bool cpupri_check_rt(void); @@ -1728,6 +1697,9 @@ } #endif +extern int task_can_attach(struct task_struct *p); +extern int dl_bw_alloc(int cpu, u64 dl_bw); +extern void dl_bw_free(int cpu, u64 dl_bw); #ifdef CONFIG_SMP extern void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask); extern int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask); @@ -1834,7 +1806,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 +1894,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