1 2.6.35 merge window part 2
- The and mechanisms have been added to the networking subsystem.
- The patch set has been merged. This should lead to less memory fragmentation and higher success rates for large allocations.
- All interrupt handlers are now called with interrupts disabled; see for details on the change.
2 2.6.35 Video4Linux2 enhancements
m2m device 就是一个缓冲区的视频 变换 到另一个缓冲区
So
the new memory-to-memory (m2m) infrastructure is designed to enable the
creation of V4L2 devices which move video frames from one memory buffer
to another, performing some sort of transformation on the way. Frames
are fed to the device as if it were an ordinary video output device,
with all of the appropriate configuration done to describe the format of
those frames. The video input side is, instead, configured with the
format the application would like to have. The driver takes frames
written to the device by applications, runs them through the processing
engine, then makes them available for reading as if it were an ordinary
video capture device.
3 One ring buffer to rule them all?
多个机制(perf,ftrace,LTTng)使用统一的ring buffer.
值得注意的是 不需要同步.
A
ring buffer
is a circular data structure that is often used to hold data that is
produced and consumed by separate processes without synchronization.
[RFC] Unified Ring Buffer (Next Generation)
1 Minutes from the Hardware Error Kernel Mini-Summit
the discussion thread 值得一看
2 Augmented red-black trees
augmented
rbtrees." Such a tree works very much like an ordinary rbtree, with the
exception that it keeps additional information in each node. That
information, almost certainly, is a function of any child nodes in the
tree - the maximum key value among all children, for example.
问题的起源,首先了解PAT
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/x86/pat.txt;h=17965f927c1583e61281e5701b951253c95bf278;hb=d27554d874c7eeb14c8bfecdc39c3a8618cd8d32补丁
3 The trouble with the TSC
很多应用程序使用rdstc保证性能,问题是tsc不一定可靠, 内核无法且拒绝提供tsc的具体信息.
需要了解vsyscall
Depending
on the hardware, gettimeofday() and clock_gettime() may be implemented
as vsyscalls—virtual system calls—rather than standard system calls,
which eliminates the user space to kernel transition. Vsyscalls are code
that is stored in a special memory region in user space (the vdso
region) that may access kernel-maintained data, like clock ticks. Using
vsyscalls, the calls are (relatively) fast, but on some hardware (or
virtual machines) that requires kernel-space operations to get to a
reliable counter, a vsyscall cannot be used, so the calls are slower.
1 Adaptive spinning futexes
Darren Hart has been working on intended to bring adaptive spinning to futexes in an attempt to improve the performance of multi-threaded applications.
The
core idea is simple: if a process attempts to acquire a futex which is
already owned by another, it will spin in an acquisition loop until the
holding process either releases the futex or is scheduled out. If all
goes well, the new process will be able to grab the futex quickly and
get on with its work in the most efficient way.
2 Uprobes returns - again
which allows the placement of dynamic tracepoints into user-space programs,依然没有进入mainline
3 Detecting idle patterns
The subsystem is charged with putting the CPU into the optimal sleep state when there is nothing for it to do.
进入何种sleep state取决于下次事件触发时间(a)next scheduled timer event 容易确定 (b)device interrupt 如网卡,鼠标等 不容易确定
which maintains an array of the last eight actual sleep periods.
Whenever it is time to put the processor to sleep, the standard
deviation of those sleep periods is calculated; if it is small, then the
average sleep is considered to be a better guide to the expected sleep
period than the next timer event.
4 The Next3 filesystem
该文件系统基于ext3实现了snapshots支持,但不可能进入mainline
5 Moving x86 to LMB
目标取代bootmem
LMB is a simple allocator which is meant to do a good-enough job until something more sophisticated can take over.
6 MeeGo and Btrfs
MeeGo will be based on the Btrfs file system by default.
1 Cleancache and Frontswap
目前难以进入mainline
is "a page-granularity victim cache for clean pages," Cleancache
provides a place where the kernel can put pages which it can afford to
lose, but which it would like to keep around if possible. A classic
example is file-backed pages which are clean, so they can be recovered
from disk if need be.
And when a
cleancache-enabled filesystem wishes to access a page in a file on
disk, it first checks cleancache to see if it already contains it;
有什么好处呢? 可以减少duplicate copy和进行压缩
更新的
2 Reworking pm_qos
"power management quality of service"
have
latency-sensitive parts of the kernel express their requirements, which
can then be taken into account by the power management code.
对API的修订
pm_qos hacker Mark Gross has to the API.
阅读(1106) | 评论(0) | 转发(0) |