kernel news – 20.02.2013

Posted: February 20, 2013 in kernel

-Since the merge window madness has started, here’s Steven Whitehouse
with a patchset for GFS2 :

This is one of the smallest collections of patches for the merge
window for some time. There are some clean ups relating to the
transaction code and the shrinker, which are mostly in preparation
for further development, but also make the code much easier to
follow in these areas.

There is a patch which allows the use of ->writepages even in the
default ordered write mode for all writebacks. This results in
sending larger i/os to the block layer, and a subsequent increase
in performance. It also reduces the number of different i/o paths
by one.

There is also a bug fix reinstating the withdraw ack system which
somehow got lost when the lock modules were merged into GFS2.

-James Hogan and arch/metag for 3.9-rc1:

Here is the arch/metag/ tree for v3.9-rc1. Arnd said he’s happy to ack
it (the additional changes since then have been mostly further cleanups
and fixes for when merged with other trees).

-Borislav Petkov has a small pull request regarding amd64 EDAC:

Hi Linus,

please pull the following updates for (mostly) AMD’s side of EDAC. It is
basically a new family enablement stuff – the rest is trivial cleanups.

-Rafael J. Wysocki has ACPI and PM updates for -rc1:

Highlights:

– Rework of the ACPI namespace scanning code. Reduces code size and
complexity, removes some really ugly stuff. Requisite for PCI host
bridge hotplug support queued up in the PCI tree. From yours truly
with bits from Bjorn Helgaas, Jiang Liu, Mika Westerberg,
Toshi Kani, and Yinghai Lu.

– ACPI power resources handling and ACPI device PM update. Adds
missing support for power resource priorities and system levels,
changes device PM to follow the spec more closely, fixes bugs
and exposes ACPI power resources information to user space for
powertop etc.

– ACPICA update to version 20130117. Bug fixes, more new ACPI 5
features, code cleanups, new interface for walking device resource
lists, reduction of divergences between the kernel code and ACPICA
upstream. From Bob Moore and Lv Zheng with smaller bits from
Aaron Lu, Chao Guan, Jesper Juhl, and Tim Gardner.

– Support for Intel Lynxpoint LPSS from Mika Westerberg.

– cpuidle update adding support for Intel Haswell, causing the C1
state to be used (along with C1E) by intel_idle and removing the
global definition of pm_idle. From Len Brown.

– cpuidle fixes and cleanups from Daniel Lezcano.

– cpufreq fixes and cleanups. Reduction of code duplication, locking
fixes, simplifications all over the place. From Viresh Kumar and
Fabio Baltieri with smaller bits from Stratos Karafotis and
Rickard Andersson.

– Intel P-states driver for Sandy Bridge processors. Departs from
the cpufreq’s tradition of separating governors from the low-level
driver code and saves energy more efficiently as a result. From
Dirk Brandewie.

– cpufreq driver for Marvell Kirkwood SoCs from Andrew Lunn.

– cpufreq fixes related to ordering issues between acpi-cpufreq and
powernow-k8 from Borislav Petkov and Matthew Garrett.

– cpufreq support for Calxeda Highbank processors from Mark Langsdorf
and Rob Herring.

– cpufreq driver for the Freescale i.MX6Q SoC and cpufreq-cpu0 update
from Shawn Guo.

– cpufreq Exynos fixes and cleanups from Jonghwan Choi, Sachin Kamat,
and Inderpal Singh.

– Support for “lightweight suspsend” that stops the suspend sequence
after suspending devices and waits for a wakup interrupt at that
point. The changes were relatively small and the users of
autosleep may find this useful. From Zhang Rui.

– Removal of the deprecated power trace API from Paul Gortmaker.

-Grant Likely and devicetree:

All around device tree changes destined for v3.8. Aside from the
documentation updates the highlights in this branch include:
– Kbuild changes for using CPP with .dts files
– locking fix from preempt_rt patchset
– include DT alias names in device uevent
– Selftest bugfixes and improvements
– New function for counting phandles stanzas in a property
– constify argument to of_node_full_name()
– Various bug fixes

This tree did also contain a commit to use platform_device_add instead
of open-coding the device add code, but it caused problems with amba
devices and needed to be reverted.

-Grant Likely and SPI:

Changes to both core spi code and spi device drivers. The driver
changes are the usual set of bug fixes and platform enablement. Core
code changes include:
– More intelligent assignment of SPI bus numbers when using DT
– Fixes to initialization and documentation of chipselect gpio array.
– Pull checks for bits_per_word and transfer speed out of drivers and
into core code
– Ensure temporary DMA buffers are DMA safe

-Ingo Molnar has RCU, perf, smp/hotplug, timer,x86/{apic,asm,boot,build,cpu,debug
,hyperv,uv} and irq/core changes.

-Steven Whitehouse has a GFS2-related pull request:

This is one of the smallest collections of patches for the merge
window for some time. There are some clean ups relating to the
transaction code and the shrinker, which are mostly in preparation
for further development, but also make the code much easier to
follow in these areas.

There is a patch which allows the use of ->writepages even in the
default ordered write mode for all writebacks. This results in
sending larger i/os to the block layer, and a subsequent increase
in performance. It also reduces the number of different i/o paths
by one.

There is also a bug fix reinstating the withdraw ack system which
somehow got lost when the lock modules were merged into GFS2.

-Tejun Heo has workqueue cleanups for -rc1:

This is part of on-going cleanups to remove / minimize usages of
workqueue interfaces which are deprecated and/or misleading. This
round drops a number of usages of [delayed_]work_pending(), which are
dangerous as they lack any form of synchronization and thus often lead
to buggy / unnecessary code. There are a couple legitimate use cases
in kernel. Hopefully, they can be converted and
[delayed_]work_pending() can be removed completely. Even if not,
removing most of misuses should make it more difficult to find
examples of misuses and thus slow down growth of them.

-From the same Tejun Heo, we have async changes as well:

These are followups for the earlier deadlock issue involving async
ending up waiting for itself through block requesting module[1]. The
following changes are made by these commits.

* Instead of requesting default elevator on each request_queue init,
block now requests it once early during boot.

* Kmod triggers warning if invoked from an async worker.

* Async synchronization implementation has been reimplemented. It’s a
lot simpler now.

This branch depends on wq/for-3.9 for current_is_async() and this pull
request assumes that wq/for-3.9 is already pulled in. It also
contains a pull from 3.8-rc4 to base async synchronization
reimplementation on top of async fixes there.

-Remember Tejun Heo? Here he is again with cgroup changes:

These are cgroup changes for 3.9-rc1. Nothing too drastic.

* Removal of synchronize_rcu() from userland visible paths.

* Various fixes and cleanups from Li.

* cgroup_rightmost_descendant() added which will be used by cpuset
changes (it will be a separate pull request).

-Even more stuff from him, here are cpuset changes:

* Synchornization has seen a lot of changes with focus on decoupling
cpuset synchronization from cgroup internal locking. After this
change, there only remain a couple of mostly trivial dependencies on
cgroup_lock outside cgroup core proper. cgroup_lock is scheduled to
be unexported in this devel cycle. This will finally remove the
fragile locking order around cgroup (cgroup locking wants to /
should be one of the outermost but yet has been acquired from deep
inside individual controllers).

* At this point, Li is most knowlegeable with cpuset and taking over
the maintainership of cpuset.

This depends on cgroup_rightmost_descendant() implemented in
cgroup/for-3.9 and this pull request assumes that cgroup/for-3.9 is
already pulled in.

-Mike Turquette has clk changes:

The common clock framework changes for 3.9 are almost entirely fixes.
None are dire enough to be Cc’d to stable which may be interpreted to
mean that users of the framework are reaching stability. Lots of new
adoption of this framework is via DeviceTree data and that comes through
the respective architecture and platform trees instead of through the
clk framework tree. Two new features are improved debugfs output and an
improvement to how DT clocks are initialized by reusing a common method.

-Ben Myers updates XFS:

Please pull these XFS updates for 3.9-rc1. Here there are
primarily fixes for regressions and bugs, but there are a few cleanups
too. There are fixes for compound buffers, quota asserts, dir v2 block
compaction, mount behavior, use-after-free with AIO, swap extents, an
unmount hang, speculative preallocation, write verifiers, the allocator
stack switch, recursion on xa_lock, an xfs_buf_find oops, and a memory
barrier in xfs_ifunlock. Cleanups include the removal of unused
XFS_TRANS_DEBUG routines, removal of obsolete simple_strto*, removal of
boolean_t, removal of the rest of boolean_t, and replacement of a
hardcoded 128 with the log header size when calculating log space
reservations.

-Tejun Heo (!) has workqueue core changes:

This is pull request for workqueue core changes. A lot of
reorganization is going on mostly to prepare for worker pools with
custom attributes so that workqueue can replace custom pool
implementations in places including writeback and btrfs and make CPU
assignment in crypto more flexible.

workqueue evolved from purely per-cpu design and implementation, so
there are a lot of assumptions regarding being bound to CPUs and even
unbound workqueues are implemented as an extension of the model –
workqueues running on the special unbound CPU. Bulk of changes this
round are about promoting worker_pools as the top level abstraction
replacing global_cwq (global cpu workqueue). At this point, I’m
fairly confident about getting custom worker pools working pretty
soon and ready for the next merge window.

Lai’s patches are replacing the convoluted mb() dancing workqueue has
been doing with much simpler mechanism which only depends on
assignment atomicity of long. For details, please read the commit
message of 0b3dae68ac (“workqueue: simplify is-work-item-queued-here
test”). While the change ends up adding one pointer to struct
delayed_work, the inflation in percentage is less than five percent
and it decouples delayed_work logic a lot more cleaner from usual work
handling, removes the unusual memory barrier dancing, and allows for
further simplification, so I think the trade-off is acceptable.

There will be two more workqueue related pull requests and there are
some shared commits among them. I’ll write further pull requests
assuming this pull request is pulled first.

-Ben Hutchings announces stable kernel 3.2.39.

-Dmitry Torokhov has input updates:

[…] 2 new touchpad drivers – Cypress APA I2C Trackpad and
Cypress PS/2 touchpad and a big update to ALPS driver from Kevin
Cernekee that adds support for “Rushmore” touchpads and paves way for
adding support for “Dolphin” touchpads.

There is also a new input driver for Goldfish emulator and also Android
keyreset driver was folded into SysRq code.

A few more drivers were updated with device tree bindings and others
got some small cleanups and fixes.

-Miklos Szeredi has fuse updates:

The biggest part of this pull request is a patch series from Maxim
Patlasov to optimize scatter-gather direct IO. There’s also the
addition of a “readdirplus” API, poll events and various fixes and
cleanups.

There’s a one line change outside of fuse to mm/filemap.c which makes
the argument of iov_iter_single_seg_count() const, required by Maxim’s
patches.

-Ingo Molnar and x86/platform:

* Support for the Technologic Systems TS-5500 platform,
by Vivien Didelot

* Improved NUMA support on AMD systems:

Add support for federated systems where multiple memory
controllers can exist and see each other over multiple PCI
domains. This basically means that AMD node ids can be more
than 8 now and the code handling this is taught to
incorporate PCI domain into those IDs.

* Support for the Goldfish virtual Android emulator,
by Jun Nakajima, Intel, Google, et al.

* Misc fixlets.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s