|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Love R. — Linux kernel development |
|
|
Предметный указатель |
Pmap utility, memory area example 260—261
Pointers, dereferences 350
Policy (scheduler) 40—43
polling 75
Portability 321
Portability, byte ordering 332
Portability, byte ordering, big-endian 330—332
Portability, byte ordering, little-endian 330—332
Portability, data alignment 328
Portability, data alignment, issues 328
Portability, data alignment, nonstandard data types 329
Portability, data alignment, structure padding 329—330
Portability, high memory 334
Portability, implications of 334
Portability, issues to consider 334
Portability, kernel 20
Portability, kernel preemption 334
Portability, Linux history 322—323
Portability, operating systems 321—322
Portability, page size, architectures 333
Portability, processor ordering 334
Portability, scheduler 322
Portability, symmetrical multiprocessing 334
Portability, time, HZ 332—333
Portability, time, jiffies 332—333
Portability, word size, data types 323
Portability, word size, double words 324
Portability, word size, general-purpose registers (GPRs) 323
Portability, word size, quad words 324
Portability, word size, supported Linux architectures 324—325
POSIX 64
Preempt-safe code 125
Preemption by kernel 58—59
Preemption by user 58
Preemption disabling (kernel) 151—152
Preemptive multitasking 39—43
preempt_count() function 152
preempt_disable() function 152
preempt_enable no resched() function 152
preempt_enable() function 152
Premptive kernel (Linux) 7
prepare_write() method, address_space object 272
printf() function 17 308
printf() function, transposition with printk() function 311
printk() function 17
printk() function, debugging 308—311
printk() function, debugging, nonrobustness of 309
printk() function, debugging, robustness of 309
printk() function, log buffer 310—311
printk() function, loglevels 309—310
printk() function, loglevels, KERN_ALERT 310
printk() function, loglevels, KERN_CRIT 310
printk() function, loglevels, KERN_DEBUG 310
printk() function, loglevels, KERN_EMERG 310
printk() function, loglevels, KERN_ERR 310
printk() function, loglevels, KERN_INFO 310
printk() function, loglevels, KERN_NOTICE 310
printk() function, loglevels, KERN_WARNING 310
printk() function, transposition with printf() function 311
Priority arrays, active 47
Priority arrays, bitmap sizes 47
Priority arrays, counters 47
Priority arrays, expired 47
Priority arrays, queue 47
Priority-based scheduling of processes 41 50
Priority-based scheduling of processes, dynamic 50
Priority-based scheduling of processes, nice values 41 50
Priority-based scheduling of processes, real-time 41
Priority-based scheduling of processes, static 50
Priority-based scheduling of processes, tasks type, I/O bound 50
Priority-based scheduling of processes, tasks type, processor bound 50
Priority-based scheduling of processes, trainable state versus sleeping state 50
Process address space, flat versus segmented 251
Process address space, memory descriptor 252
Process address space, memory descriptor, allocating 254
Process address space, memory descriptor, destroying 255
Process address space, memory descriptor, fields 253—254
Process address space, overview 251
Process descriptors, allocating 25—26
Process descriptors, removal of 36—37
Process descriptors, states 27
Process descriptors, states, TASK_INTERRUPTIBLE process 21
Process descriptors, states, TASK_RUNNING process 21
Process descriptors, states, TASK_STOPPED process 28
Process descriptors, states, TASK_UNINTERRUPTIBLE process 28
Process descriptors, states, TASK_ZOMBIE process 28
Process descriptors, storing 26—27
Process descriptors, task list 24
Process identification value (PID) 26—27
Process scheduler, context switching 57—58
Process scheduler, cooperative multitasking 39—40
Process scheduler, defined 39
Process scheduler, kernel preemption 58—59
Process scheduler, kernel/sched.c 43—44
Process scheduler, load balancer 54—57
Process scheduler, O(1) scheduler 40
Process scheduler, overhaul from previous version 40 44
Process scheduler, policy 40—43
Process scheduler, preemptive multitasking 39—40 43
Process scheduler, priority arrays, active 41
Process scheduler, priority arrays, bitmap sizes 41
Process scheduler, priority arrays, counters 41
Process scheduler, priority arrays, expired 41
Process scheduler, priority arrays, queue 41
Process scheduler, purpose of 39
Process scheduler, real-time scheduling policies 59—60
Process scheduler, runqueues 44—46
Process scheduler, runqueues, deadlock avoidance 45
Process scheduler, runqueues, fields 44
Process scheduler, runqueues, locking 45
Process scheduler, runqueues, locking order 46
Process scheduler, runqueues, macros 45
Process scheduler, runqueues, spinning processes 46
Process scheduler, schedule() function 48—49
Process scheduler, sleeping tasks 52—54
Process scheduler, system calls 60—62
Process scheduler, timeslice 39—43 51
Process scheduler, timeslice, calculations 42
Process scheduler, timeslice, nice values 51
Process scheduler, timeslice, recalculating 48 51—52
Process scheduler, user preemption 58
Process scheduler, wait queues 52—53
Process scheduler, waking up tasks 53—54
Process scheduler, yielding 40
Processes, address space 23
Processes, concurrency 124—125
Processes, concurrency, interrupt-safe 125
Processes, concurrency, preempt-safe 125
Processes, concurrency, SMP-safe 125
Processes, context 29
processes, creating 30—33
Processes, data section 23
processes, defined 23
Processes, exit() system call 24
Processes, family hierarchy, child 29—30
Processes, family hierarchy, parents 29—30
Processes, family hierarchy, siblings 29—30
Processes, fork() system call 24
Processes, I/O-bound 40—41
Processes, lifecycle of 24
Processes, priority of 41 50
Processes, priority of, dynamic 50
Processes, priority of, nice values 41 50
Processes, priority of, real-time 41
Processes, priority of, runnable state versus sleeping state 50
Processes, priority of, static 50
Processes, priority of, task type 50
Processes, processor-bound 40—41
Processes, programs 23
Processes, pseudo-concurrency 124
| Processes, resources 23—24
Processes, scalability 128—129
Processes, spinning 46
Processes, starving 52
Processes, states 27
Processes, states, manipulating 29
Processes, states, TASK_INTERRUPTIBLE 21
Processes, states, TASK_RUNNING 21
Processes, states, TASK_STOPPED 28
Processes, states, TASK_UNINTERRUPTIBLE 28
Processes, states, TASK_ZOMBIE 28
Processes, task list 24
Processes, tasks 24
processes, terminating 24 35—38
Processes, threads of execution, concurrent programming 33
Processes, threads of execution, defined 23
Processes, threads of execution, implementation in Linux 33—34
Processes, threads of execution, kernel threads 35
Processes, threads of execution, lightweight processes 33
Processes, threads of execution, parallelism 33
Processes, true concurrency 124
Processes, virtual memory 23
Processes, virtual processor 23
Processes, zombies 37—38
Processor ordering 334
Processor-bound processes 40—41
Procfs (virtual filesystem) 87—88
Programmable interrupt timer (PIT) 167
Pseudo random number generator 353—354
Pseudo-concurrency, processes 124
put cpu ptr() function 206
put_bh() function 238
Quad words, word sizes 324
Quantum slice see "Timeslice"
Race conditions, locking 122—124
Race conditions, multiple threads of execution 120
Race conditions, synchronization protections, ATM processing example 120—122
Race conditions, timers 173—174
Radix tree, page caches, searching 273
Radix tree, replacement of global hash 273
raise_softirq() function 101
raise_softirq_irqoff() function 101
Raising the softirq handler 98—101
Random number generator, entropy 354
Random number generator, entropy, access to pool via SHA hash 355
Random number generator, entropy, design and implementation 354—356
Random number generator, entropy, input interfaces 356—351
Random number generator, entropy, output interfaces 351—358
Random number generator, entropy, system startups 356
Random number generator, pseudo 353—354
Random number generator, Shannon entropy 354
Random number generator, true 353—354
Rate limiting, debugging 319
read() system call 209
Reader-writer semaphores 147
Reader-writer semaphores, declaring 146
Reader-writer semaphores, lock conversion 147
Reader-writer spin locks 141—142
Reader-writer spin locks, listing of methods 142—143
readpage() method, address_space object 272
read_barrier_depends() function 154—155
read_lock() function 142
read_lock_irq() functions 142
read_lock_irqsave() function 142
read_seqbegin() function 170
read_seqretry() function 170
read_unlock() function 142
read_unlock_irq() function 142
read_unlock_irqrestore() function 142
Real-time clock (RTC) 166—167
Real-time processes, priority 41
Real-time scheduling policies 59—60
Real-time scheduling policies, hard 60
Real-time scheduling policies, soft 60
Recalculating timeslices 48
Red-black tree, memory areas 259
Reference counts, kobjects, bumping 296
Reference counts, kobjects, decrementing 297
Reference counts, kobjects, incrementing 296
Reference counts, kobjects, kref structure 297—298
Reference counts, kobjects, pinned 296
Registering, interrupt handlers 78—79
Registering, softirq handler 100—101
Relative time 157
Removing, kobjects from sysfs file system 300
Removing, modules 284
Removing, tasklets 105
Reparenting tasks' children 37—38
reporting bugs 341—342
REPORTING—BUGS file 342
Reproducing bugs 307—308
Request queues, I/O block requests 242—243
Requests, Anticipatory I/O Scheduler, anticipation heuristics 247—248
Requests, Complete Fair Queuing (CFQ) I/O Scheduler 248—249
Requests, Noop I/O Scheduler 249
request_irq() function 80
Ritchie, Dennis 1—2
rmb() function 154—155
Rmmod utility, modules, loading 284
Root directories, kernel source tree 12—13
Routines, BUG() routine 314—315
Routines, BUG_ON() routine 314—315
Routines, dump_stack() routine 315
Routines, panic() routine 315
rq_unlock() function 45
RTC (real-time clock) 166—167
Runqueues (scheduler) 44—46
Runqueues (scheduler), deadlock avoidance 45
Runqueues (scheduler), fields 44
Runqueues (scheduler), locking 45
Runqueues (scheduler), locking order 46
Runqueues (scheduler), macros 45
Runqueues (scheduler), spinning processes 46
run_local_timers() function 169
run_workqueue() function 110—111
rw_is_Iocked() function 142
rw_lock_init() function 142
SA_INTERRUPT flag 78
SA_SAMPLE RANDOM flag 78
SA_SHIRQ flag 78
Scalability of processes 128—129
Scatter-gather I/O 239
sched getparam() system call 61
schedule() function 48—49
Scheduled tasklets 102—105
Scheduler domains 62
Scheduler, context switching 57—58
Scheduler, cooperative multitasking 39—40
Scheduler, defined 39
Scheduler, kernel preemption 58—59
Scheduler, kernel/sched.c 43—44
Scheduler, load balancer 54—57
Scheduler, O(1) scheduler 40
Scheduler, overhaul from previous version 40 44
Scheduler, policy 40—43
Scheduler, portability 322
Scheduler, preemptive multitasking 39—40 43
Scheduler, priority arrays 47
Scheduler, priority arrays, active 47
Scheduler, priority arrays, bitmap sizes 47
Scheduler, priority arrays, counters 47
Scheduler, priority arrays, expired 47
Scheduler, priority arrays, queue 47
Scheduler, purpose of 39
Scheduler, real-tune scheduling policies 59—60
Scheduler, runqueues 44—46
Scheduler, runqueues, deadlock avoidance 45
Scheduler, runqueues, fields 44
Scheduler, runqueues, locking 45
Scheduler, runqueues, locking order 46
|
|
|
Реклама |
|
|
|