/linux-6.1.9/Documentation/translations/zh_CN/scheduler/ |
D | sched-arch.rst | 38 2. need_resched/TIF_NEED_RESCHED 只会被设置,并且在运行任务调用 schedule() 39 之前永远不会被清除。空闲线程只需要查询need_resched,并且永远不会设置或清除它。 41 3. 当cpu_idle发现(need_resched() == 'true'),它应该调用schedule()。否则 44 4. 在检查need_resched时,唯一需要禁用中断的情况是,我们要让处理器休眠到下一个中 45 断(这并不对need_resched提供任何保护,它可以防止丢失一个中断): 50 if (!need_resched()) { 56 5. 当need_resched变为高电平时,TIF_POLLING_NRFLAG可以由不需要中断来唤醒它们 57 的空闲程序设置。换句话说,它们必须定期轮询need_resched,尽管做一些后台工作或 61 么需要清除它,然后发出一个内存屏障(接着测试need_resched,禁用中断,如3中解释)。
|
/linux-6.1.9/Documentation/scheduler/ |
D | sched-arch.rst | 29 2. need_resched/TIF_NEED_RESCHED is only ever set, and will never 31 threads need only ever query need_resched, and may never set or 34 3. When cpu_idle finds (need_resched() == 'true'), it should call 38 need_resched is if we are about to sleep the processor until 40 need_resched, it prevents losing an interrupt): 45 if (!need_resched()) { 52 need an interrupt to wake them up when need_resched goes high. 53 In other words, they must be periodically polling need_resched, 59 barrier issued (followed by a test of need_resched with
|
/linux-6.1.9/arch/arm64/include/asm/ |
D | preempt.h | 32 current_thread_info()->preempt.need_resched = 0; in set_preempt_need_resched() 37 current_thread_info()->preempt.need_resched = 1; in clear_preempt_need_resched() 42 return !current_thread_info()->preempt.need_resched; in test_preempt_need_resched()
|
D | thread_info.h | 33 u32 need_resched; member 37 u32 need_resched;
|
/linux-6.1.9/arch/mips/kernel/ |
D | entry.S | 48 # interrupt setting need_resched 84 local_irq_disable # make sure need_resched and 128 local_irq_disable # make sure need_resched and 150 local_irq_disable # make sure need_resched doesn't
|
D | idle.c | 54 if (!need_resched()) in r4k_wait_irqoff() 69 if (!need_resched()) in rm7k_wait_irqoff()
|
/linux-6.1.9/fs/jbd2/ |
D | checkpoint.c | 310 need_resched() || in jbd2_log_do_checkpoint() 444 if (need_resched()) in journal_clean_one_cp_list() 489 if (need_resched()) in journal_shrink_one_cp_list() 548 if (need_resched() || spin_needbreak(&journal->j_list_lock)) in jbd2_journal_shrink_checkpoint_list() 557 if (need_resched() || spin_needbreak(&journal->j_list_lock)) in jbd2_journal_shrink_checkpoint_list() 611 if (need_resched()) in __jbd2_journal_clean_checkpoint_list() 622 if (need_resched()) in __jbd2_journal_clean_checkpoint_list()
|
/linux-6.1.9/arch/powerpc/lib/ |
D | vmx-helper.c | 48 if (IS_ENABLED(CONFIG_PREEMPT) && need_resched()) in exit_vmx_usercopy()
|
/linux-6.1.9/drivers/cpuidle/ |
D | coupled.c | 482 if (need_resched()) { in cpuidle_enter_state_coupled() 524 if (need_resched()) { in cpuidle_enter_state_coupled() 540 if (need_resched()) { in cpuidle_enter_state_coupled()
|
D | poll_state.c | 27 while (!need_resched()) { in poll_idle()
|
/linux-6.1.9/kernel/entry/ |
D | kvm.c | 27 } while (ti_work & XFER_TO_GUEST_MODE_WORK || need_resched()); in xfer_to_guest_mode_work()
|
/linux-6.1.9/arch/x86/include/asm/ |
D | mwait.h | 118 if (!need_resched()) in mwait_idle_with_hints()
|
/linux-6.1.9/kernel/sched/ |
D | idle.c | 177 if (need_resched()) { in cpuidle_idle_call() 279 while (!need_resched()) { in do_idle()
|
/linux-6.1.9/fs/ |
D | drop_caches.c | 31 (mapping_empty(inode->i_mapping) && !need_resched())) { in drop_pagecache_sb()
|
/linux-6.1.9/drivers/net/ethernet/sfc/ |
D | ef100_rep.c | 350 bool need_resched; in efx_ef100_rep_poll() local 375 need_resched = efv->write_index != read_index; in efx_ef100_rep_poll() 377 if (need_resched) in efx_ef100_rep_poll()
|
/linux-6.1.9/Documentation/translations/zh_CN/locking/ |
D | mutex-design.rst | 53 任务(need_resched,需要重新调度)准备运行时,当前任务试图自旋来获得
|
/linux-6.1.9/kernel/locking/ |
D | osq_lock.c | 143 if (smp_cond_load_relaxed(&node->locked, VAL || need_resched() || in osq_lock()
|
D | mutex.c | 373 if (!owner_on_cpu(owner) || need_resched()) { in mutex_spin_on_owner() 399 if (need_resched()) in mutex_can_spin_on_owner() 504 if (need_resched()) { in mutex_optimistic_spin()
|
/linux-6.1.9/drivers/acpi/ |
D | acpi_pad.c | 161 while (!need_resched()) { in power_saving_thread() 206 if (unlikely(need_resched())) in power_saving_thread()
|
/linux-6.1.9/kernel/trace/ |
D | trace_output.c | 444 char need_resched; in trace_print_lat_fmt() local 466 need_resched = 'N'; in trace_print_lat_fmt() 469 need_resched = 'n'; in trace_print_lat_fmt() 472 need_resched = 'p'; in trace_print_lat_fmt() 475 need_resched = '.'; in trace_print_lat_fmt() 488 irqs_off, need_resched, hardsoft_irq); in trace_print_lat_fmt()
|
/linux-6.1.9/drivers/net/wireguard/ |
D | send.c | 282 if (need_resched()) in wg_packet_tx_worker() 306 if (need_resched()) in wg_packet_encrypt_worker()
|
/linux-6.1.9/drivers/char/hw_random/ |
D | s390-trng.c | 76 if (need_resched()) { in trng_read()
|
/linux-6.1.9/fs/btrfs/ |
D | extent-io-tree.c | 681 if (start <= end && state && !need_resched()) in __clear_extent_bit() 1030 !need_resched()) in __set_extent_bit() 1086 !need_resched()) in __set_extent_bit() 1268 !need_resched()) in convert_extent_bit() 1308 !need_resched()) in convert_extent_bit()
|
/linux-6.1.9/arch/arm/mach-omap2/ |
D | cpuidle34xx.c | 114 if (omap_irq_pending() || need_resched()) in omap3_enter_idle()
|
D | pm33xx-core.c | 226 if (omap_irq_pending() || need_resched()) in am33xx_cpu_suspend()
|