1.. include:: ../disclaimer-zh_CN.rst
2
3:Original: Documentation/scheduler/sched-arch.rst
4
5:������:
6
7 ��������� Yanteng Si <siyanteng@loongson.cn>
8
9:������:
10
11
12
13===============================
14���������������������CPU���������������������
15===============================
16
17	Nick Piggin, 2005
18
19���������������
20==========
211. ���������������
22������������������switch_to arch������������������������������������������������������������������������������
23switch_to���������������������������������������������������������������������������������������������������
24
25������������������������������������������������������������switch_to������������������������
26���`#define __ARCH_WANT_UNLOCKED_CTXSW`(���������������switch_to���������������������
27
28���CONFIG_SMP���������������������������������������������������������������������������������������������������
29������
30
31CPU������
32=======
33������cpu_idle���������������������������������
34
351. ������������������������������������������������������������������schedule()������������������������������
36
372. need_resched/TIF_NEED_RESCHED ��������������������������������������������� schedule()
38   ���������������������������������������������������������need_resched������������������������������������������
39
403. ���cpu_idle���������need_resched() == 'true'���������������������schedule()���������
41   ������������������schedule()���
42
434. ���������need_resched���������������������������������������������������������������������������������������
44   ������������������need_resched���������������������������������������������������������:
45
46	4a. ������������������������������������������::
47
48	        local_irq_disable();
49	        if (!need_resched()) {
50	                local_irq_enable();
51	                *** resched interrupt arrives here ***
52	                __asm__("sleep until next interrupt");
53	        }
54
555. ���need_resched���������������������TIF_POLLING_NRFLAG���������������������������������������
56   ���������������������������������������������������������������need_resched���������������������������������
57   ���������CPU������������������������������
58
59      - 5a. ������TIF_POLLING_NRFLAG���������������������������������������������������������������
60            ������������������������������������������������������������������need_resched���������������������3���������������
61
62arch/x86/kernel/process.c������������������������������������������
63
64
65���������������arch/������
66===================
67
68���������������������arch���������������������������������������������:
69
70sparc - ������������������IRQ���������������������������local_irq_save������_disable���
71      - ������������: ���������������CPU��������������� (������ #1)
72