Index
[SYMBOL]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[W]
[X]
[Y]
[Z]
padding structures data alignment 2nd 3rd 4th page caches address_space object 2nd 3rd 4th commit_write() method prepare_write() method readpage() method 2nd writepage() method 2nd bdflush daemon block I/O operations inodes 2nd contents identifying 2nd 3rd 4th disk blocks I/O buffers global hash searching 2nd kupdated daemon origination sources block device files filesystem files memory-mapped files page I/O operations pdflush daemon as successor to bdflush daemon 2nd dirty page writeback 2nd 3rd laptop mode 2nd multiple threads 2nd physical RAM pages radix tree searching 2nd page prtection flags memory areas 2nd 3rd page size architectures 2nd page tables future management possibilities 2nd levels 2nd 3rd translation lookaside buffer (TLB) page writeback page writebacks pdflush daemon laptop mode 2nd page_address() function pages (memory) 2nd 3rd 4th 5th 6th 7th panic() routine 2nd parallelism threads parameters modules defining 2nd 3rd 4th 5th system calls 2nd verifying 2nd 3rd 4th 5th parent pointer (kobjects) parentless tasks 2nd 3rd parents process family hierarchy 2nd 3rd patches generating 2nd 3rd 4th 5th incremental 2nd kdb 2nd kgdb patch submitting 2nd 3rd 4th pdflush daemon as successor to bdflush daemon 2nd 3rd 4th configuration settings 2nd dirty page writeback 2nd 3rd laptop mode 2nd multiple threads 2nd pdflush task kernel threads 2nd peocesses family hierarchy child 2nd 3rd parents 2nd 3rd siblings 2nd 3rd per cpu ptr() function per-CPU data arrays 2nd 3rd benefits of using 2nd 3rd 4th kernel preemption 2nd 3rd percpu interface 2nd at compile-time 2nd at runtime 2nd 3rd 4th thrashing the cache percpu interface 2nd at compile-time 2nd at runtime 2nd 3rd 4th permanent mappings high memory 2nd PID (process identification value) 2nd 3rd pid_t data type (opaque) 2nd pinned objects reference counts PIT (programmable interrupt timer) pmap utility memory area example 2nd 3rd 4th pointers dereferences 2nd policy (scheduler) 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th polling portability byte ordering 2nd big-endian 2nd 3rd 4th little-endian 2nd 3rd 4th data alignment 2nd issues 2nd nonstandard data types 2nd structure padding 2nd 3rd 4th defined high memory 2nd implications of 2nd issues to consider 2nd kernel 2nd kernel preemption 2nd Linux 2nd Linux history 2nd 3rd operating systems 2nd 3rd 4th page size architectures 2nd processor ordering scheduler 2nd 3rd 4th symmetrical multiprocessing 2nd time HZ 2nd jiffies 2nd word size data types 2nd double words general-purpose registers (GPRs) quad words supported Linux architectures 2nd 3rd POSIX 2nd 3rd preempt count() function preempt disable() function 2nd 3rd preempt enable no resched() function preempt enable() function preempt-safe code preemption by kernel 2nd 3rd 4th 5th preemption by user 2nd preemption disabling (kernel) functions 2nd preemptive multitasking 2nd 3rd premptive kernel (Linux) prepare_write() method address_space object printf() function 2nd transposition with printk() function printk() function debugging 2nd 3rd 4th 5th 6th nonrobustness of 2nd robustness of log buffer 2nd loglevels 2nd 3rd KERN_ALERT KERN_CRIT KERN_DEBUG KERN_EMERG KERN_ERR KERN_INFO KERN_NOTICE KERN_WARNING transposition with printf() function priority arrays 2nd active bitmap sizes counters expired queue priority-based scheduling of processes 2nd 3rd 4th 5th 6th dynamic nice values 2nd real-time runnable state versus sleeping state 2nd static tasks type I/O bound processor bound process address space flat versus segmented 2nd memory descriptor allocating 2nd destroying fields 2nd 3rd overview 2nd process descriptors allocating 2nd removal of 2nd states TASK_INTERRUPTIBLE process TASK_RUNNING process TASK_STOPPED process TASK_UNINTERRUPTIBLE process TASK_ZOMBIE process storing 2nd 3rd task list 2nd 3rd process identification value (PID) 2nd 3rd process scheduler context switching 2nd 3rd 4th 5th cooperative multitasking 2nd 3rd defined kernel preemption 2nd 3rd 4th 5th kernel/sched.c 2nd load balancer 2nd 3rd 4th 5th 6th O(1) scheduler 2nd overhaul from previous version 2nd 3rd 4th policy 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th preemptive multitasking 2nd 3rd priority arrays 2nd active bitmap sizes counters expired queue purpose of 2nd real-time scheduling policies 2nd 3rd runqueues 2nd deadlock avoidance fields locking locking order 2nd macros spinning processes schedule() function 2nd 3rd 4th sleeping tasks 2nd 3rd 4th 5th 6th 7th system calls 2nd 3rd 4th 5th 6th 7th processor time, yielding 2nd timeslice 2nd 3rd 4th 5th 6th 7th calculations 2nd nice values recalculating 2nd 3rd 4th timeslices recalculating 2nd 3rd user preemption 2nd wait queues 2nd waking up tasks 2nd 3rd yielding processes address space 2nd concurrency 2nd interrupt-safe preempt-safe SMP-safe context 2nd creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th data section defined exit() system call fork() system call 2nd I/O-bound 2nd 3rd lifecycle of 2nd 3rd priority of 2nd 3rd 4th 5th 6th dynamic nice values 2nd real-time runnable state versus sleeping state 2nd static task type processor-bound 2nd 3rd programs pseudo-concurrency resources 2nd 3rd scalability 2nd spinning starving states manipulating 2nd TASK_INTERRUPTIBLE TASK_RUNNING TASK_STOPPED TASK_UNINTERRUPTIBLE TASK_ZOMBIE task list tasks terminating 2nd 3rd 4th 5th 6th 7th 8th 9th threads of execution concurrent programming defined 2nd implementation in Linux 2nd 3rd 4th 5th 6th kernel threads 2nd 3rd lightweight processes parallelism true concurrency virtual memory virtual processor 2nd zombies 2nd 3rd processor ordering processor slice
[See timeslice] processor-bound processes 2nd 3rd procfs (virtual filesystem) 2nd 3rd 4th programmable interrupt timer (PIT) programs processes pseudo random number generator 2nd 3rd pseudo-concurrency processes put bh() function put cpu ptr() function
|