Michael Kerrisk
* Note: these are all the books on Goodreads for this author. To add more, click here.
“The sched_setscheduler() system call changes both the scheduling policy and the priority of the process whose process ID is specified in pid. If pid is specified as 0, the attributes of the calling process are changed.”
― The Linux Programming Interface: A Linux and UNIX System Programming Handbook
― The Linux Programming Interface: A Linux and UNIX System Programming Handbook
“When a process is rescheduled to run on a multiprocessor system, it doesn’t necessarily run on the same CPU on which it last executed. The usual reason it may run on another CPU is that the original CPU is already busy. When a process changes CPUs, there is a performance impact: in order for a line of the process’s data to be loaded into the cache of the new CPU, it must first be invalidated (i.e., either discarded if it is unmodified, or flushed to main memory if it was modified), if present in the cache of the old CPU. (To prevent cache inconsistencies, multiprocessor architectures allow data to be kept in only one CPU cache at a time.) This invalidation costs execution time. Because of this performance impact, the Linux (2.6) kernel tries to ensure soft CPU affinity for a process — wherever possible, the process is rescheduled to run on the same CPU.”
― The Linux Programming Interface: A Linux and UNIX System Programming Handbook
― The Linux Programming Interface: A Linux and UNIX System Programming Handbook
“A process is an instance of an executing program. In this section, we elaborate on this definition and clarify the distinction between a program and a process.”
― The Linux Programming Interface: A Linux and UNIX System Programming Handbook
― The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Is this you? Let us know. If not, help out and invite Michael to Goodreads.