TOC
Miscellaneous changes in 2.6.x.
-
Greatly improved multithreading support (2.6.0).
-
Allows modern NPTL threading
implementation to achieve better performance
and much closer POSIX compliance
than LinuxThreads.
-
New arguments and additional flags for clone(2).
-
New system calls:
exit_group(2),
tgkill(2),
get_thread_area(2),
set_thread_area(2),
set_tid_address(2).
-
New futex(2)
system call supports faster implementation of
mutexes and semaphores.
-
Signal-driven I/O possible on pipes (2.6.0).
See fcntl(2) manual page.
-
semtimedop(2) == semop() with timeout,
for System V semaphores (2.6.0)
-
For applications that make heavy use of semaphore operations
with timeouts (some database management systems).
-
Subsequently backported into 2.4.22.
-
Not specified in SUSv3; available on Solaris 9 and HP-UX 11.
-
Hard CPU affinity: sched_setaffinity(2) (2.6.0).
-
Used on multiprocessor system to
confine process to subset of the CPUs.
-
Can be used to maximize throughput and response
of a single process, by placing
all other processes on another CPU.
-
Can prevent performance cost of cache invalidation that occurs if
process times out on one CPU and is rescheduled on another.
-
Even without sched_setaffinity(2),
Linux kernel attempts to provide soft CPU affinity
to reduce performance chances of cache invalidation.
-
/proc/sys/kernel/core_pattern
specifies a template used to name all core dump files (2.6.0).
Core file name can include: name of executable file,
time of dump (seconds since Epoch), PID,
real UID/GID of process, number of terminating signal,
name of host system (sethostname(2)).
See proc(5) manual page.
(C) 2006, Michael Kerrisk