Dear RT Folks, This is the RT stable review cycle of patch 3.14.34-rt32-rc4. Please scream at me if I messed something up. Please test the patches too. The -rc release will be uploaded to kernel.org and will be deleted when the final release is out. This is just a review release (or release candidate). The pre-releases will not be pushed to the git repository, only the final release is. If all goes well, this patch will be converted to the next main release on 3/20/2015. Enjoy, -- Steve To build 3.14.34-rt32-rc4 directly, the following patches should be applied: http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.tar.xz http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.14.34.xz http://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.34-rt32-rc4.patch.xz You can also build from 3.14.34-rt31 by applying the incremental patch: http://www.kernel.org/pub/linux/kernel/projects/rt/3.14/incr/patch-3.14.34-rt31-rt32-rc4.patch.xz Changes from 3.14.34-rt31: --- Brad Mouring (1): rtmutex.c: Fix incorrect waiter check Daniel Wagner (2): work-simple: Simple work queue implemenation thermal: Defer thermal wakups to threads Gustavo Bittencourt (1): rtmutex: enable deadlock detection in ww_mutex_lock functions Josh Cartwright (1): lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals Kevin Hao (1): netpoll: guard the access to dev->npinfo with rcu_read_lock/unlock_bh() for CONFIG_PREEMPT_RT_FULL=y Mike Galbraith (6): rt,locking: fix __ww_mutex_lock_interruptible() lockdep annotation x86: UV: raw_spinlock conversion scheduling while atomic in cgroup code sunrpc: make svc_xprt_do_enqueue() use get_cpu_light() locking: ww_mutex: fix ww_mutex vs self-deadlock fs,btrfs: fix rt deadlock on extent_buffer->lock Paul E. McKenney (4): timers: Track total number of timers in list timers: Reduce __run_timers() latency for empty list timers: Reduce future __run_timers() latency for newly emptied list timers: Reduce future __run_timers() latency for first add to empty list Paul Gortmaker (1): sas-ata/isci: dont't disable interrupts in qc_issue handler Sebastian Andrzej Siewior (5): gpio: omap: use raw locks for locking locking/rt-mutex: avoid a NULL pointer dereference on deadlock arm/futex: disable preemption during futex_atomic_cmpxchg_inatomic() Revert "rwsem-rt: Do not allow readers to nest" fs/aio: simple simple work Steven Rostedt (Red Hat) (3): staging: Mark rtl8821ae as broken Revert "timers: do not raise softirq unconditionally" Linux 3.14.34-rt32-rc4 Thomas Gleixner (14): rtmutex: Simplify rtmutex_slowtrylock() rtmutex: Simplify and document try_to_take_rtmutex() rtmutex: No need to keep task ref for lock owner check rtmutex: Clarify the boost/deboost part rtmutex: Document pi chain walk rtmutex: Simplify remove_waiter() rtmutex: Confine deadlock logic to futex rtmutex: Cleanup deadlock detector debug logic rtmutex: Avoid pointless requeueing in the deadlock detection chain walk futex: Make unlock_pi more robust futex: Use futex_top_waiter() in lookup_pi_state() futex: Split out the waiter check from lookup_pi_state() futex: Split out the first waiter attachment from lookup_pi_state() futex: Simplify futex_lock_pi_atomic() and make it more robust Yadi.hu (1): ARM: enable irq in translation/section permission fault handlers Yang Shi (1): mips: rt: Replace pagefault_* to raw version Yong Zhang (1): ARM: cmpxchg: define __HAVE_ARCH_CMPXCHG for armv6 and later ---- arch/arm/include/asm/cmpxchg.h | 2 + arch/arm/include/asm/futex.h | 4 + arch/arm/mm/fault.c | 6 + arch/mips/mm/init.c | 4 +- arch/x86/include/asm/uv/uv_bau.h | 14 +- arch/x86/include/asm/uv/uv_hub.h | 2 +- arch/x86/kernel/apic/x2apic_uv_x.c | 2 +- arch/x86/platform/uv/tlb_uv.c | 26 +- arch/x86/platform/uv/uv_time.c | 21 +- drivers/gpio/gpio-omap.c | 72 ++-- drivers/scsi/libsas/sas_ata.c | 4 +- drivers/staging/rtl8821ae/Kconfig | 1 + drivers/thermal/x86_pkg_temp_thermal.c | 50 ++- fs/aio.c | 24 +- fs/btrfs/ctree.c | 4 +- fs/btrfs/extent-tree.c | 8 - include/linux/hrtimer.h | 3 +- include/linux/netpoll.h | 16 +- include/linux/rtmutex.h | 8 +- include/linux/rwsem_rt.h | 1 + include/linux/work-simple.h | 24 ++ kernel/futex.c | 402 +++++++++++------------ kernel/hrtimer.c | 31 +- kernel/locking/rt.c | 37 ++- kernel/locking/rtmutex-debug.c | 5 +- kernel/locking/rtmutex-debug.h | 7 +- kernel/locking/rtmutex-tester.c | 4 +- kernel/locking/rtmutex.c | 582 ++++++++++++++++++++++++--------- kernel/locking/rtmutex.h | 7 +- kernel/locking/rtmutex_common.h | 22 +- kernel/sched/Makefile | 2 +- kernel/sched/work-simple.c | 172 ++++++++++ kernel/timer.c | 72 ++-- lib/locking-selftest.c | 27 ++ localversion-rt | 2 +- mm/memcontrol.c | 7 +- net/sunrpc/svc_xprt.c | 4 +- 37 files changed, 1133 insertions(+), 546 deletions(-) Diff from -rc3: --- diff --git a/localversion-rt b/localversion-rt index a745e52f1919..e2267abd0c4d 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt32-rc3 +-rt32-rc4 diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 6f4bcdb951d9..be24d2d186fa 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2453,18 +2453,16 @@ static bool consume_stock(struct mem_cgroup *memcg, unsigned int nr_pages) { struct memcg_stock_pcp *stock; bool ret = true; - int cpu; if (nr_pages > CHARGE_BATCH) return false; - cpu = get_cpu_light(); - stock = &per_cpu(memcg_stock, cpu); + stock = &get_cpu_var(memcg_stock); if (memcg == stock->cached && stock->nr_pages >= nr_pages) stock->nr_pages -= nr_pages; else /* need to call res_counter_charge */ ret = false; - put_cpu_light(); + put_cpu_var(memcg_stock); return ret; } -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html