[PATCH v3 1/2] Documentation: dt: Update ti,emif bindings

2017-07-24 Thread Dave Gerlach
Update the Texas Instruments EMIF binding document to include the device tree bindings for ti,emif-am3352 and ti,emif-am4372 which are used by the ti-emif-sram driver to provide low-level PM functionality. Acked-by: Rob Herring Acked-by: Tony Lindgren Signed-off-by: Dave Gerlach --- .../device

[PATCH v3 0/2] memory: Introduce ti-emif-sram driver

2017-07-24 Thread Dave Gerlach
This is v3 of the series introduces a ti-emif-sram driver to be used on am335x and am437x, based on v4.13-rc2. This version addresses some comments from Russell King and Johan Hovold in v2 found here [1]. Main changes are to patch two with grouping all the driver data into a single struct and allo

[PATCH v3 2/2] memory: ti-emif-sram: introduce relocatable suspend/resume handlers

2017-07-24 Thread Dave Gerlach
Certain SoCs like Texas Instruments AM335x and AM437x require parts of the EMIF PM code to run late in the suspend sequence from SRAM, such as saving and restoring the EMIF context and placing the memory into self-refresh. One requirement for these SoCs to suspend and enter its lowest power mode,

Re: [PATCH v3 3/9] perf annotate: Fix wrong --show-total-period option showing number of samples

2017-07-24 Thread Taeung Song
On 07/25/2017 02:37 AM, Arnaldo Carvalho de Melo wrote: Em Mon, Jul 24, 2017 at 10:51:58AM +0900, Taeung Song escreveu: Hi Arnaldo, Sorry, I'm too late. On 07/21/2017 08:24 PM, Arnaldo Carvalho de Melo wrote: Em Fri, Jul 21, 2017 at 06:41:29PM +0900, Taeung Song escreveu: On 07/21/2017 04:

Re: [PATCH net-next V2 5/5] virtio-net: switch off offloads on demand if possible on XDP set

2017-07-24 Thread Michael S. Tsirkin
On Wed, Jul 19, 2017 at 04:54:49PM +0800, Jason Wang wrote: > Current XDP implementation wants guest offloads feature to be disabled > on device. This is inconvenient and means guest can't benefit from > offloads if XDP is not used. This patch tries to address this > limitation by disabling the off

Re: [PATCH] kthread: Fix documentation build warning

2017-07-24 Thread Jonathan Corbet
On Mon, 24 Jul 2017 14:24:44 -0700 Randy Dunlap wrote: > > + * @arg...: arguments for @namefmt. > > * > > Hm, Documentation/doc-guide/kernel-doc.rst says: > If a function parameter is ``...`` (varargs), it should be listed > in kernel-doc notation as: ``@...:``. > > but the patch here is fo

[PATCH] x86/nmi: Use raw lock

2017-07-24 Thread Scott Wood
register_nmi_handler() can be called from PREEMPT_RT atomic context (e.g. wakeup_cpu_via_init_nmi() or native_stop_other_cpus()), and thus ordinary spinlocks cannot be used. Signed-off-by: Scott Wood --- arch/x86/kernel/nmi.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(

[PATCH] kmod: fix spelling mistake: "EMTPY" -> "EMPTY"

2017-07-24 Thread Colin King
From: Colin Ian King Trivial fix to spelling mistake in snprintf text Signed-off-by: Colin Ian King --- lib/test_kmod.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/test_kmod.c b/lib/test_kmod.c index 6c1d678bcf8b..90c91541fc16 100644 --- a/lib/test_kmod.c +++ b/

[PATCH tip/core/rcu 0/6] Documentation updates

2017-07-24 Thread Paul E. McKenney
Hello! This series contains documentation updates: 1. Fix documentation of relation between nohz_full and rcu_nocbs. 2. General documentation update. 3. Update memory-barriers.txt for read-to-write dependencies. 4. Add RCU files to docbook-generation lists. 5. Documen

[PATCH tip/core/rcu 5/6] doc: No longer allowed to use rcu_dereference on non-pointers

2017-07-24 Thread Paul E. McKenney
Signed-off-by: Paul E. McKenney --- Documentation/RCU/rcu_dereference.txt | 61 --- 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/Documentation/RCU/rcu_dereference.txt b/Documentation/RCU/rcu_dereference.txt index b2a613f16d74..1acb26b09b48 10064

[PATCH tip/core/rcu 1/6] documentation: Fix relation between nohz_full and rcu_nocbs

2017-07-24 Thread Paul E. McKenney
If a CPU is specified in the nohz_full= kernel boot parameter to a kernel built with CONFIG_NO_HZ_FULL=y, then that CPU's callbacks will be offloaded, just as if that CPU had also been specified in the rcu_nocbs= kernel boot parameter. But the current documentation states that the user must keep t

Re: [PATCH net-next 5/5] virtio-net: switch off offloads on demand if possible on XDP set

2017-07-24 Thread Michael S. Tsirkin
On Wed, Jul 19, 2017 at 10:39:53AM +0800, Jason Wang wrote: > > > On 2017年07月19日 04:07, Michael S. Tsirkin wrote: > > On Mon, Jul 17, 2017 at 08:44:01PM +0800, Jason Wang wrote: > > > Current XDP implementation want guest offloads feature to be disabled > > s/want/wants/ > > > > > on qemu cli. >

[PATCH tip/core/rcu 4/6] doc: Add RCU files to docbook-generation files

2017-07-24 Thread Paul E. McKenney
Suggested-by: Jonathan Corbet Signed-off-by: Paul E. McKenney --- Documentation/core-api/kernel-api.rst | 49 +++ 1 file changed, 49 insertions(+) diff --git a/Documentation/core-api/kernel-api.rst b/Documentation/core-api/kernel-api.rst index 17b00914c6ab..8282

[PATCH tip/core/rcu 6/6] doc: Set down RCU's scheduling-clock-interrupt needs

2017-07-24 Thread Paul E. McKenney
This commit documents the situations in which RCU needs the scheduling-clock interrupt to be enabled, along with the consequences of failing to meet RCU's needs in this area. Signed-off-by: Paul E. McKenney --- .../RCU/Design/Requirements/Requirements.html | 130 + 1 fil

[PATCH tip/core/rcu 3/6] doc: Update memory-barriers.txt for read-to-write dependencies

2017-07-24 Thread Paul E. McKenney
The memory-barriers.txt document contains an obsolete passage stating that smp_read_barrier_depends() is required to force ordering for read-to-write dependencies. We now know that this is not required, even for DEC Alpha. This commit therefore updates this passage to state that read-to-write depe

Re: [PATCH 09/10] percpu: replace area map allocator with bitmap allocator

2017-07-24 Thread Dennis Zhou
On Mon, Jul 17, 2017 at 07:27:56PM -0400, Tejun Heo wrote: > I think it'd be nice to have a similar table for allocation patterns > which aren't ideal for the original allocator. The biggest goal is > avoiding cases where the allocator collapses and just glancing at the > table doesn't seem very c

[PATCH tip/core/rcu 2/6] doc: RCU documentation update

2017-07-24 Thread Paul E. McKenney
Signed-off-by: Paul E. McKenney --- Documentation/RCU/checklist.txt | 121 +++ Documentation/RCU/rcu.txt| 9 +-- Documentation/RCU/rcubarrier.txt | 5 ++ Documentation/RCU/torture.txt| 20 +-- Documentation/RCU/whatisRCU.txt | 5 +- 5 f

RE: Is it possible to use ftrace to measure secondary CPU bootup time

2017-07-24 Thread Brandt, Todd E
> > On Mon, 24 Jul 2017 13:46:07 +0800 > "Huang\, Ying" wrote: > > > Hi, Steven, > > > > We are working on parallelizing secondary CPU bootup. So we need to > > measure the bootup time of secondary CPU, that is, measure time spent in > > smp_init() and its callees. But we found that ftrace no

Re: [PATCH net-next V2 5/5] virtio-net: switch off offloads on demand if possible on XDP set

2017-07-24 Thread Michael S. Tsirkin
On Wed, Jul 19, 2017 at 04:54:49PM +0800, Jason Wang wrote: > Current XDP implementation wants guest offloads feature to be disabled > on device. This is inconvenient and means guest can't benefit from > offloads if XDP is not used. This patch tries to address this > limitation by disabling the off

Re: [PATCH net-next V2 0/5] Refine virtio-net XDP

2017-07-24 Thread Michael S. Tsirkin
On Mon, Jul 24, 2017 at 01:38:59PM -0700, David Miller wrote: > From: Jason Wang > Date: Wed, 19 Jul 2017 16:54:44 +0800 > > > Hi: > > > > This series brings two optimizations for virtio-net XDP: > > > > - avoid reset during XDP set > > - turn off offloads on demand > > > > Changes from V1: >

Re: [PATCH] alarmtimer: don't rate limit one-shot timers

2017-07-24 Thread Greg Hackmann
On 07/24/2017 11:21 AM, Greg KH wrote: On Mon, Jul 24, 2017 at 10:19:24AM -0700, Greg Hackmann wrote: Commit ff86bf0c65f1 ("alarmtimer: Rate limit periodic intervals") sets a minimum bound on the alarm timer interval. This minimum bound shouldn't be applied if the interval is 0. Otherwise, one

[PATCH] spi: pic32: fix spelling mistakes on macro names

2017-07-24 Thread Colin King
From: Colin Ian King Trivial fix to spelling mistakes macros; fix EMPTY spellings: RX_FIFO_EMTPY -> RX_FIFO_EMPTY TX_FIFO_EMTPY -> TX_FIFO_EMPTY Note that there are no other occurrances of these macros in the source. Signed-off-by: Colin Ian King --- drivers/spi/spi-pic32.c | 4 ++-- 1 file c

[PATCH tip/core/rcu 0/15] General fixes

2017-07-24 Thread Paul E. McKenney
Hello! This series contains general fixes: 1. Make cond_resched() provide RCU quiescent state, which finally avoids degrading performance. 2. Use timer as backstop for NOCB deferred wakeups. 3. Simplify RCU Kconfig by driving TASKS_RCU directly off of PREEMPT. 4. Cr

[PATCH tip/core/rcu 08/15] swait: add idle variants which don't contribute to load average

2017-07-24 Thread Paul E. McKenney
From: "Luis R. Rodriguez" There are cases where folks are using an interruptible swait when using kthreads. This is rather confusing given you'd expect interruptible waits to be -- interruptible, but kthreads are not interruptible ! The reason for such practice though is to avoid having these kth

[PATCH tip/core/rcu 10/15] rcu: Add TPS() protection for _rcu_barrier_trace strings

2017-07-24 Thread Paul E. McKenney
The _rcu_barrier_trace() function is a wrapper for trace_rcu_barrier(), which needs TPS() protection for strings passed through the second argument. However, it has escaped prior TPS()-ification efforts because it _rcu_barrier_trace() does not start with "trace_". This commit therefore adds the n

[PATCH tip/core/rcu 15/15] rcu: Remove exports from rcu_idle_exit() and rcu_idle_enter()

2017-07-24 Thread Paul E. McKenney
The rcu_idle_exit() and rcu_idle_enter() functions are exported because they were originally used by RCU_NONIDLE(), which was intended to be usable from modules. However, RCU_NONIDLE() now instead uses rcu_irq_enter_irqson() and rcu_irq_exit_irqson(), which are not exported, and there have been no

[PATCH tip/core/rcu 11/15] rcu/tracing: Set disable_rcu_irq_enter on rcu_eqs_exit()

2017-07-24 Thread Paul E. McKenney
From: Masami Hiramatsu Set disable_rcu_irq_enter on not only rcu_eqs_enter_common() but also rcu_eqs_exit(), since rcu_eqs_exit() suffers from the same issue as was fixed for rcu_eqs_enter_common() by commit 03ecd3f48e57 ("rcu/tracing: Add rcu_disabled to denote when rcu_irq_enter() will not work

[PATCH tip/core/rcu 01/15] sched,rcu: Make cond_resched() provide RCU quiescent state

2017-07-24 Thread Paul E. McKenney
There is some confusion as to which of cond_resched() or cond_resched_rcu_qs() should be added to long in-kernel loops. This commit therefore eliminates the decision by adding RCU quiescent states to cond_resched(). This commit also simplifies the code that used to interact with cond_resched_rcu_q

[PATCH tip/core/rcu 05/15] rcu: Add TPS() to event-traced strings

2017-07-24 Thread Paul E. McKenney
Strings used in event tracing need to be specially handled, for example, using the TPS() macro. Without the TPS() macro, although output looks fine from within a running kernel, extracting traces from a crash dump produces garbage instead of strings. This commit therefore adds the TPS() macro to

[PATCH tip/core/rcu 07/15] rcu: Add event tracing to ->gp_tasks update at GP start

2017-07-24 Thread Paul E. McKenney
There is currently event tracing to track when a task is preempted within a preemptible RCU read-side critical section, and also when that task subsequently reaches its outermost rcu_read_unlock(), but none indicating when a new grace period starts when that grace period must wait on pre-existing r

[PATCH tip/core/rcu 13/15] rcu: Make rcu_idle_enter() rely on callers disabling irqs

2017-07-24 Thread Paul E. McKenney
From: "Peter Zijlstra (Intel)" All callers to rcu_idle_enter() have irqs disabled, so there is no point in rcu_idle_enter disabling them again. This commit therefore replaces the irq disabling with a RCU_LOCKDEP_WARN(). Signed-off-by: Peter Zijlstra (Intel) Signed-off-by: Paul E. McKenney ---

[PATCH tip/core/rcu 02/15] rcu: Use timer as backstop for NOCB deferred wakeups

2017-07-24 Thread Paul E. McKenney
The handling of RCU's no-CBs CPUs has a maintenance headache, namely that if call_rcu() is invoked with interrupts disabled, the rcuo kthread wakeup must be defered to a point where we can be sure that scheduler locks are not held. Of course, there are a lot of code paths leading from an interrupt

[PATCH tip/core/rcu 03/15] rcu: Drive TASKS_RCU directly off of PREEMPT

2017-07-24 Thread Paul E. McKenney
The actual use of TASKS_RCU is only when PREEMPT, otherwise RCU-sched is used instead. This commit therefore makes synchronize_rcu_tasks() and call_rcu_tasks() available always, but mapped to synchronize_sched() and call_rcu_sched(), respectively, when !PREEMPT. This approach also allows some #if

[PATCH tip/core/rcu 14/15] rcu: Add warning to rcu_idle_enter() for irqs enabled

2017-07-24 Thread Paul E. McKenney
All current callers of rcu_idle_enter() have irqs disabled, and rcu_idle_enter() relies on this, but doesn't check. This commit therefore adds a RCU_LOCKDEP_WARN() to add some verification to the trust. While we are there, pass "true" rather than "1" to rcu_eqs_enter(). Signed-off-by: Paul E. McK

[PATCH tip/core/rcu 06/15] rcu: Move rcu.h to new trivial-function style

2017-07-24 Thread Paul E. McKenney
This commit saves a few lines in kernel/rcu/rcu.h by moving to single-line definitions for trivial functions, instead of the old style where the two curly braces each get their own line. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcu.h | 128 +-

[PATCH tip/core/rcu 09/15] rcu: use idle versions of swait to make idle-hack clear

2017-07-24 Thread Paul E. McKenney
From: "Luis R. Rodriguez" These RCU waits were set to use interruptible waits to avoid the kthreads contributing to system load average, even though they are not interruptible as they are spawned from a kthread. Use the new TASK_IDLE swaits which makes our goal clear, and removes confusion about

[PATCH tip/core/rcu 12/15] rcu: Add assertions verifying blocked-tasks list

2017-07-24 Thread Paul E. McKenney
This commit adds assertions verifying the consistency of the rcu_node structure's ->blkd_tasks list and its ->gp_tasks, ->exp_tasks, and ->boost_tasks pointers. In particular, the ->blkd_tasks lists must be empty except for leaf rcu_node structures. Signed-off-by: Paul E. McKenney --- kernel/rc

[PATCH tip/core/rcu 04/15] rcu: Create reasonable API for do_exit() TASKS_RCU processing

2017-07-24 Thread Paul E. McKenney
Currently, the exit-time support for TASKS_RCU is open-coded in do_exit(). This commit creates exit_tasks_rcu_start() and exit_tasks_rcu_finish() APIs for do_exit() use. This has the benefit of confining the use of the tasks_rcu_exit_srcu variable to one file, allowing it to become static. Signed

[PATCH] staging: rtl8192u: fix spelling mistake: "Senondary" -> "Secondary"

2017-07-24 Thread Colin King
From: Colin Ian King Trivial fix to spelling mistake in IEEE80211_DEBUG message Signed-off-by: Colin Ian King --- drivers/staging/rtl8192u/ieee80211/rtl819x_HTProc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8192u/ieee80211/rtl819x_HTProc.c b/drive

[PATCH tip/core/rcu 0/12] CPU-hotplug updates

2017-07-24 Thread Paul E. McKenney
Hello! This series updates RCU's interaction with CPU hotplug, perhaps most notably making callback migration happen very shortly after the outgoing CPU is gone. 1. Make expedited GPs correctly handle hardware CPU insertion. 2. Migrate callbacks earlier in the CPU-offline timeline. 3.

[PATCH tip/core/rcu 05/12] rcu: Check for NOCB CPUs and empty lists earlier in CB migration

2017-07-24 Thread Paul E. McKenney
The current CPU-hotplug RCU-callback-migration code checks for the source (newly offlined) CPU being a NOCBs CPU down in rcu_send_cbs_to_orphanage(). This commit simplifies callback migration a bit by moving this check up to rcu_migrate_callbacks(). This commit also adds a check for the source CP

[PATCH tip/core/rcu 01/12] rcu: Make expedited GPs correctly handle hardware CPU insertion

2017-07-24 Thread Paul E. McKenney
The update of the ->expmaskinitnext and of ->ncpus are unsynchronized, with the value of ->ncpus being incremented long before the corresponding ->expmaskinitnext mask is updated. If an RCU expedited grace period sees ->ncpus change, it will update the ->expmaskinit masks from the new ->expmaskini

[PATCH tip/core/rcu 03/12] torture: Fix typo suppressing CPU-hotplug statistics

2017-07-24 Thread Paul E. McKenney
The torture status line contains a series of values preceded by "onoff:". The last value in that line, the one preceding the "HZ=" string, is always zero. The reason that it is always zero is that torture_offline() was incrementing the sum_offl pointer instead of the value that this pointer refere

[PATCH tip/core/rcu 04/12] rcu: Remove orphan/adopt event-tracing fields

2017-07-24 Thread Paul E. McKenney
The rcu_node structure's ->n_cbs_orphaned and ->n_cbs_adopted fields are updated, but never read. This commit therefore removes them. Signed-off-by: Paul E. McKenney --- kernel/rcu/tree.c | 2 -- kernel/rcu/tree.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/

[PATCH tip/core/rcu 07/12] rcu: Advance outgoing CPU's callbacks before migrating them

2017-07-24 Thread Paul E. McKenney
It is possible that the outgoing CPU is unaware of recent grace periods, and so it is also possible that some of its pending callbacks are actually ready to be invoked. The current callback-migration code would needlessly force these callbacks to pass through another grace period. This commit the

[PATCH tip/core/rcu 12/12] rcu: Move callback-list warning to irq-disable region

2017-07-24 Thread Paul E. McKenney
After adopting callbacks from a newly offlined CPU, the adopting CPU checks to make sure that its callback list's count is zero only if the list has no callbacks and vice versa. Unfortunately, it does so after enabling interrupts, which means that false positives are possible due to interrupt hand

[PATCH tip/core/rcu 08/12] rcu: Eliminate rcu_state ->orphan_lock

2017-07-24 Thread Paul E. McKenney
The ->orphan_lock is acquired and released only within the rcu_migrate_callbacks() function, which now acquires the root rcu_node structure's ->lock. This commit therefore eliminates the ->orphan_lock in favor of the root rcu_node structure's ->lock. Signed-off-by: Paul E. McKenney --- kernel/r

[PATCH tip/core/rcu 02/12] rcu: Migrate callbacks earlier in the CPU-offline timeline

2017-07-24 Thread Paul E. McKenney
RCU callbacks must be migrated away from an outgoing CPU, and this is done near the end of the CPU-hotplug operation, after the outgoing CPU is long gone. Unfortunately, this means that other CPU-hotplug callbacks can execute while the outgoing CPU's callbacks are still immobilized on the long-gon

[PATCH tip/core/rcu 10/12] rcu: Localize rcu_state ->orphan_pend and ->orphan_done

2017-07-24 Thread Paul E. McKenney
Given that the rcu_state structure's >orphan_pend and ->orphan_done fields are used only during migration of callbacks from the recently offlined CPU to a surviving CPU, if rcu_send_cbs_to_orphanage() and rcu_adopt_orphan_cbs() are combined, these fields can become local variables in the combined f

[PATCH tip/core/rcu 09/12] rcu: Advance callbacks after migration

2017-07-24 Thread Paul E. McKenney
When migrating callbacks from a newly offlined CPU, we are already holding the root rcu_node structure's lock, so it costs almost nothing to advance and accelerate the newly migrated callbacks. This patch therefore makes this advancing and acceleration happen. Signed-off-by: Paul E. McKenney ---

[PATCH tip/core/rcu 06/12] rcu: Make NOCB CPUs migrate CBs directly from outgoing CPU

2017-07-24 Thread Paul E. McKenney
RCU's CPU-hotplug callback-migration code first moves the outgoing CPU's callbacks to ->orphan_done and ->orphan_pend, and only then moves them to the NOCB callback list. This commit avoids the extra step (and simplifies the code) by moving the callbacks directly from the outgoing CPU's callback l

[PATCH tip/core/rcu 11/12] rcu: Remove unused RCU list functions

2017-07-24 Thread Paul E. McKenney
Given changes to callback migration, rcu_cblist_head(), rcu_cblist_tail(), rcu_cblist_count_cbs(), rcu_segcblist_segempty(), rcu_segcblist_dequeued_lazy(), and rcu_segcblist_new_cbs() are no longer used. This commit therefore removes them. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcu_segc

Re: [PATCH 02/37] binder: use group leader instead of open thread

2017-07-24 Thread John Stultz
On Mon, Jul 24, 2017 at 2:23 PM, Greg Kroah-Hartman wrote: > On Mon, Jul 24, 2017 at 02:00:45PM -0700, John Stultz wrote: >> On Thu, Jun 29, 2017 at 12:01 PM, Todd Kjos wrote: >> > The binder allocator assumes that the thread that >> > called binder_open will never die for the lifetime of >> > th

Re: [PATCH] alarmtimer: don't rate limit one-shot timers

2017-07-24 Thread Greg KH
On Mon, Jul 24, 2017 at 02:41:10PM -0700, Greg Hackmann wrote: > On 07/24/2017 11:21 AM, Greg KH wrote: > > On Mon, Jul 24, 2017 at 10:19:24AM -0700, Greg Hackmann wrote: > > > Commit ff86bf0c65f1 ("alarmtimer: Rate limit periodic intervals") sets a > > > minimum bound on the alarm timer interval.

Re: commit 16ecba59 breaks 82574L under heavy load.

2017-07-24 Thread Philip Prindeville
> On Jul 20, 2017, at 5:44 PM, Benjamin Poirier wrote: > > [snip] > Could you please test the following patch and let me know if it: > 1) reduces the interrupt rate of the Other msi-x vector > 2) avoids the link flaps > or > 3) logs some dmesg warnings of the form "Other interrupt with unhandled

[PATCH tip/core/rcu 0/5] Related non-RCU updates

2017-07-24 Thread Paul E. McKenney
Hello! This series is outside of RCU, including things like fixes for bug triggered by RCU commits. 1. Fix pr_fmt() bug for header use of printk, courtesy of Joe Perches. 2. Remove redundant INIT_TASK_RCU_TREE_PREEMPT() macro. 3. Allow migrating kthreads into online but inactive

[PATCH tip/core/rcu 2/5] init_task: Remove redundant INIT_TASK_RCU_TREE_PREEMPT() macro

2017-07-24 Thread Paul E. McKenney
Back in the dim distant past, the task_struct structure's RCU-related fields optionally included those needed for CONFIG_RCU_BOOST, even in CONFIG_PREEMPT_RCU builds. The INIT_TASK_RCU_TREE_PREEMPT() macro was used to provide initializers for those optional CONFIG_RCU_BOOST fields. However, the CO

[PATCH tip/core/rcu 4/5] sys_membarrier: Add expedited option

2017-07-24 Thread Paul E. McKenney
The sys_membarrier() system call has proven too slow for some use cases, which has prompted users to instead rely on TLB shootdown. Although TLB shootdown is much faster, it has the slight disadvantage of not working at all on arm and arm64. This commit therefore adds an expedited option to the sy

[PATCH tip/core/rcu 5/5] EXP: sched/cputime: Fix using smp_processor_id() in preemptible

2017-07-24 Thread Paul E. McKenney
From: Wanpeng Li BUG: using smp_processor_id() in preemptible [] code: 99-trinity/181 caller is debug_smp_processor_id+0x17/0x19 CPU: 0 PID: 181 Comm: 99-trinity Not tainted 4.12.0-01059-g2a42eb9 #1 Call Trace: dump_stack+0x82/0xb8 check_preemption_disabled+0xd1/0xe3 debug_smp_p

[PATCH tip/core/rcu 3/5] EXPERIMENTAL sched: Allow migrating kthreads into online but inactive CPUs

2017-07-24 Thread Paul E. McKenney
From: Tejun Heo Per-cpu workqueues have been tripping CPU affinity sanity checks while a CPU is being offlined. A per-cpu kworker ends up running on a CPU which isn't its target CPU while the CPU is online but inactive. While the scheduler allows kthreads to wake up on an online but inactive CP

[PATCH tip/core/rcu 1/5] module: Fix pr_fmt() bug for header use of printk

2017-07-24 Thread Paul E. McKenney
From: Joe Perches This commit removes the pr_fmt() macro, replacing it with mod_err() and mod_debug() macros to avoid errors when using printk() from header files. Signed-off-by: Joe Perches Signed-off-by: Paul E. McKenney --- arch/blackfin/kernel/module.c | 39 +--

Re: [PATCH tip/core/rcu 5/5] EXP: sched/cputime: Fix using smp_processor_id() in preemptible

2017-07-24 Thread Wanpeng Li
2017-07-25 5:58 GMT+08:00 Paul E. McKenney : > From: Wanpeng Li > > BUG: using smp_processor_id() in preemptible [] code: 99-trinity/181 What's the meaning of EXP? Btw, the patch is in linus's tree currently. Regards, Wanpeng Li

Re: [PATCH v3 3/5] iio: adc: sun4i-gpadc-iio: add support for H3 thermal sensor

2017-07-24 Thread kbuild test robot
Hi Icenowy, [auto build test WARNING on robh/for-next] [also build test WARNING on v4.13-rc2 next-20170724] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Icenowy-Zheng/IIO-based-thermal-sensor

[PATCH tip/core/rcu 0/9] Remove spin_unlock_wait()

2017-07-24 Thread Paul E. McKenney
Hello! This series removes spin_unlock_wait(): 1. Remove spin_unlock_wait() from net/netfilter/nf_conntrack_core, courtesy of Manfred Spraul. 2. Replace task_work use of spin_unlock_wait() with lock/unlock pair, courtesy of Oleg Nesterov. 3. Replace scheduler use

[PATCH tip/core/rcu 2/9] task_work: Replace spin_unlock_wait() with lock/unlock pair

2017-07-24 Thread Paul E. McKenney
From: Oleg Nesterov There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore replaces the spin_unlock_wait() call in task_work_run() with a spin_lock_irq() and a spin_unlock_irq() ar

[PATCH tip/core/rcu 9/9] arch: Remove spin_unlock_wait() arch-specific definitions

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore removes the underlying arch-specific arch_spin_unlock_wait() for all architectures providing them. Signed-off-by: Paul E. McKe

[PATCH tip/core/rcu 8/9] locking: Remove spin_unlock_wait() generic definitions

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore removes spin_unlock_wait() and related definitions from core code. Signed-off-by: Paul E. McKenney Cc: Arnd Bergmann Cc: Ing

[PATCH tip/core/rcu 3/9] sched: Replace spin_unlock_wait() with lock/unlock pair

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore replaces the spin_unlock_wait() call in do_task_dead() with spin_lock() followed immediately by spin_unlock(). This should be s

[PATCH tip/core/rcu 4/9] completion: Replace spin_unlock_wait() with lock/unlock pair

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore replaces the spin_unlock_wait() call in completion_done() with spin_lock() followed immediately by spin_unlock(). This should b

[PATCH tip/core/rcu 6/9] ipc: Replace spin_unlock_wait() with lock/unlock pair

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore replaces the spin_unlock_wait() call in exit_sem() with spin_lock() followed immediately by spin_unlock(). This should be safe

[PATCH tip/core/rcu 5/9] exit: Replace spin_unlock_wait() with lock/unlock pair

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore replaces the spin_unlock_wait() call in do_exit() with spin_lock() followed immediately by spin_unlock(). This should be safe f

[PATCH tip/core/rcu 1/9] net/netfilter/nf_conntrack_core: Fix net_conntrack_lock()

2017-07-24 Thread Paul E. McKenney
From: Manfred Spraul As we want to remove spin_unlock_wait() and replace it with explicit spin_lock()/spin_unlock() calls, we can use this to simplify the locking. In addition: - Reading nf_conntrack_locks_all needs ACQUIRE memory ordering. - The new code avoids the backwards loop. Only slightl

[PATCH tip/core/rcu 7/9] drivers/ata: Replace spin_unlock_wait() with lock/unlock pair

2017-07-24 Thread Paul E. McKenney
There is no agreed-upon definition of spin_unlock_wait()'s semantics, and it appears that all callers could do just as well with a lock/unlock pair. This commit therefore eliminates the spin_unlock_wait() call and associated else-clause and hoists the then-clause's lock and unlock out of the "if"

Re: [PATCH v5 1/5] mm: add vm_insert_mixed_mkwrite()

2017-07-24 Thread Kirill A. Shutemov
On Mon, Jul 24, 2017 at 11:06:12AM -0600, Ross Zwisler wrote: > @@ -1658,14 +1658,35 @@ static int insert_pfn(struct vm_area_struct *vma, > unsigned long addr, > if (!pte) > goto out; > retval = -EBUSY; > - if (!pte_none(*pte)) > - goto out_unlock; > +

[PATCH tip/core/rcu 0/4] SRCU updates

2017-07-24 Thread Paul E. McKenney
Hello! This series contains a few SRCU updates: 1. Move rcu_scheduler_starting() from Tiny RCU to Tiny SRCU. 2. Remove obsolete SRCU-C.boot kernel-parameter file 3. Make process_srcu() be static. 4. Provide ordering for CPU not involved in grace period.

Re: [PATCH v3 3/5] iio: adc: sun4i-gpadc-iio: add support for H3 thermal sensor

2017-07-24 Thread kbuild test robot
Hi Icenowy, [auto build test WARNING on robh/for-next] [also build test WARNING on v4.13-rc2 next-20170724] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Icenowy-Zheng/IIO-based-thermal-sensor

[PATCH tip/core/rcu 1/4] srcu: Move rcu_scheduler_starting() from Tiny RCU to Tiny SRCU

2017-07-24 Thread Paul E. McKenney
Other than lockdep support, Tiny RCU has no need for the scheduler status. However, Tiny SRCU will need this to control boot-time behavior independent of lockdep. Therefore, this commit moves rcu_scheduler_starting() from kernel/rcu/tiny_plugin.h to kernel/rcu/srcutiny.c. This in turn allows the

[PATCH tip/core/rcu 2/4] rcutorture: Remove obsolete SRCU-C.boot

2017-07-24 Thread Paul E. McKenney
Classic SRCU is no more, so this commit removes the corresponding rcutorture boot-parameters file. Signed-off-by: Paul E. McKenney --- tools/testing/selftests/rcutorture/configs/rcu/SRCU-C.boot | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tools/testing/selftests/rcutorture/configs/rc

[PATCH tip/core/rcu 4/4] srcu: Provide ordering for CPU not involved in grace period

2017-07-24 Thread Paul E. McKenney
Tree RCU guarantees that every online CPU has a memory barrier between any given grace period and any of that CPU's RCU read-side sections that must be ordered against that grace period. Since RCU doesn't always know where read-side critical sections are, the actual implementation guarantees order

[PATCH tip/core/rcu 3/4] srcu: Make process_srcu() be static

2017-07-24 Thread Paul E. McKenney
The function process_srcu() is not invoked outside of srcutree.c, so this commit makes it static and drops the EXPORT_SYMBOL_GPL(). Signed-off-by: Paul E. McKenney --- include/linux/srcutree.h | 2 -- kernel/rcu/srcutree.c| 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git

Re: [PATCH] ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq

2017-07-24 Thread Grygorii Strashko
On 07/24/2017 04:52 AM, Johan Hovold wrote: > Since commit a8636c89648a ("PM / Runtime: Don't allow to suspend a > device with an active child"), which went into 4.10, it is no longer > permitted to set RPM_SUSPENDED state for a device with active children > (unless power.ignore_children is set).

Re: [PATCH] Input: rmi4 - remove the need for artificial IRQ in case of HID

2017-07-24 Thread Lyude Paul
Hi, could we get this thread going again? I've been hit by this problem on my new machine recently, Razer Blade Stealth, and it's been making the touchpad rather difficult to use (jumping cursors being seen, just like the ones mentioned in the thread). Additionally, I've been running this patch on

[PATCH 1/2] cpufreq: intel_pstate: Do not use PID-based P-state selection

2017-07-24 Thread Rafael J. Wysocki
From: Rafael J. Wysocki All systems with a defined ACPI preferred profile that are not "servers" have been using the load-based P-state selection algorithm in intel_pstate since 4.12-rc1 (mobile systems and laptops have been using it since 4.10-rc1) and no problems with it have been reported to d

[PATCH 0/2] cpufreq: intel_pstate: Eliminate the PID controller

2017-07-24 Thread Rafael J. Wysocki
Hi, According to testing so far, the P-state selection based on the PID controller in intel_pstate can be replaced with the P-state selection based on CPU load with no considerable regressions *and* the PID-based P-state selection is generally flaky and hard to manage, make intel_pstate use the P-

[PATCH 2/2] cpufreq: intel_pstate: Drop ->update_util from pstate_funcs

2017-07-24 Thread Rafael J. Wysocki
From: Rafael J. Wysocki All systems use the same P-state selection "powersave" algorithm in the active mode if HWP is not used, so there's no need to provide a pointer for it in struct pstate_funcs any more. Drop ->update_util from struct pstate_funcs and make intel_pstate_set_update_util_hook()

[PATCH tip/core/rcu 0/13] Torture-test updates

2017-07-24 Thread Paul E. McKenney
Hello! This series contains torture-test updates: 1. Move SRCU status printing to SRCU implementations. 2. Print SRCU lock/unlock totals because I am getting tired of doing the addition in my head. 3. Remove CONFIG_TASKS_RCU ifdef from rcuperf.c. 4. Select CONFIG_PR

[PATCH tip/core/rcu 05/13] torture: Add --kconfig argument to kvm.sh

2017-07-24 Thread Paul E. McKenney
Currently, testing a variant of an existing scenario requires editing that scenario's file or creating a new scenario file. This is messy and error prone with respect to changes to scenarios. This commit therefore adds a --kconfig argument to kvm.sh, so that '--kconfig "CONFIG_RCU_TRACE=y CONFIG_

[PATCH tip/core/rcu 12/13] rcu: Add last-CPU to GP-kthread starvation messages

2017-07-24 Thread Paul E. McKenney
This commit augments the grace-period-kthread starvation debugging messages by adding the last CPU that ran the kthread. Signed-off-by: Paul E. McKenney --- kernel/rcu/tree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 51d4

[PATCH tip/core/rcu 06/13] rcutorture: Don't wait for kernel when all builds fail

2017-07-24 Thread Paul E. McKenney
Currently, rcutorture groups runs in batches, building each scenario in a given batch, then invoking qemu to run all the kernels in the batch. Of course, if a given scenario's kernel fails to build, there is no qemu run for that scenario. And if all of the kernels in a given batch fail to build, t

[PATCH tip/core/rcu 02/13] rcutorture: Print SRCU lock/unlock totals

2017-07-24 Thread Paul E. McKenney
This commit adds printing of SRCU lock/unlock totals, which are just the sums of the per-CPU counts. Saves a bit of mental arithmetic. Signed-off-by: Paul E. McKenney --- kernel/rcu/srcutree.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/rcu/srcutree.c b/kernel

[PATCH tip/core/rcu 13/13] rcutorture: Invoke call_rcu() from timer handler

2017-07-24 Thread Paul E. McKenney
The Linux kernel invokes call_rcu() from various interrupt/softirq handlers, but rcutorture does not. This commit therefore adds this behavior to rcutorture's repertoire. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcutorture.c | 13 + 1 file changed, 13 insertions(+) diff --git

[PATCH tip/core/rcu 07/13] rcutorture: Enable SRCU readers from timer handler

2017-07-24 Thread Paul E. McKenney
Now that it is legal to invoke srcu_read_lock() and srcu_read_unlock() for a given srcu_struct from both process context and {soft,}irq handlers, it is time to test it. This commit therefore enables testing of SRCU readers from rcutorture's timer handler, using in_task() to determine whether or no

[PATCH tip/core/rcu 01/13] rcutorture: Move SRCU status printing to SRCU implementations

2017-07-24 Thread Paul E. McKenney
This commit gets rid of some ugly #ifdefs in rcutorture.c by moving the SRCU status printing to the SRCU implementations. Signed-off-by: Paul E. McKenney --- include/linux/srcutiny.h | 13 + include/linux/srcutree.h | 1 + kernel/rcu/rcutorture.c | 39 +-

[PATCH tip/core/rcu 04/13] rcutorture: Select CONFIG_PROVE_LOCKING for Tiny SRCU scenario

2017-07-24 Thread Paul E. McKenney
This commit selects CONFIG_PROVE_LOCKING for the SRCU-u scenario to get better test coverage. Signed-off-by: Paul E. McKenney --- tools/testing/selftests/rcutorture/configs/rcu/SRCU-u | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/rcutorture/configs

[PATCH tip/core/rcu 09/13] rcutorture: Use nr_cpus rather than maxcpus to limit test size

2017-07-24 Thread Paul E. McKenney
The maxcpus= kernel boot parameter limits the number of CPUs brought online at boot time, but it does nothing to prevent additional CPUs from being brought up later. Placing a hard cap on the total number of CPUs is instead the job of the nr_cpus= boot parameter. This commit therefore switches th

[PATCH tip/core/rcu 10/13] rcutorture: Add task's CPU for rcutorture writer stalls

2017-07-24 Thread Paul E. McKenney
It appears that at least some of the rcutorture writer stall messages coincide with unusually long CPU-online operations, for example, no fewer than 205 seconds in a recent test. It is of course possible that the writer stall is not unrelated to this unusually long CPU-hotplug operation, and so th

[PATCH tip/core/rcu 11/13] rcutorture: Eliminate unused ts_rem local from rcu_trace_clock_local()

2017-07-24 Thread Paul E. McKenney
This commit removes an unused local variable named ts_rem that is marked __maybe_unused. Yes, the variable was assigned to, but it was never used beyond that point, hence not needed. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcutorture.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion

[PATCH tip/core/rcu 03/13] rcu: Remove CONFIG_TASKS_RCU ifdef from rcuperf.c

2017-07-24 Thread Paul E. McKenney
The synchronize_rcu_tasks() and call_rcu_tasks() APIs are now available regardless of kernel configuration, so this commit removes the CONFIG_TASKS_RCU ifdef from rcuperf.c. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcuperf.c | 17 + 1 file changed, 1 insertion(+), 16 deleti

[PATCH] mwifiex: usb: fix spelling mistake: "aggreataon"-> "aggregation"

2017-07-24 Thread Colin King
From: Colin Ian King Trivial fix to spelling mistake in aggr_ctrl module parameter message text. Signed-off-by: Colin Ian King --- drivers/net/wireless/marvell/mwifiex/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/driv

[PATCH tip/core/rcu 08/13] rcutorture: Place event-traced strings into trace buffer

2017-07-24 Thread Paul E. McKenney
Strings used in event tracing need to be specially handled, for example, being copied to the trace buffer instead of being pointed to by the trace buffer. Although the TPS() macro can be used to "launder" pointed-to strings, this might not be all that effective within a loadable module. This commi

<    3   4   5   6   7   8   9   10   11   >