Re: [PATCH 3/3] powerpc/pseries: Support compression of oops text via pstore

2013-06-25 Thread Aruna Balakrishnaiah
Hi Kees, On Monday 24 June 2013 11:27 PM, Kees Cook wrote: On Sun, Jun 23, 2013 at 11:23 PM, Aruna Balakrishnaiah wrote: The patch set supports compression of oops messages while writing to NVRAM, this helps in capturing more of oops data to lnx,oops-log. The pstore file for oops messages will

Re: [PATCH 04/10] powerpc/eeh: Backends to get/set settings

2013-06-25 Thread Gavin Shan
On Tue, Jun 25, 2013 at 04:07:24PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2013-06-25 at 13:55 +0800, Gavin Shan wrote: >> When the PHB gets fenced, 0xFF's returns from PCI config space and >> MMIO space in the hardware. The operations writting to them should >> be dropped. The patch introduc

Re: Regression in RCU subsystem in latest mainline kernel

2013-06-25 Thread Michael Ellerman
On Tue, Jun 18, 2013 at 09:09:06PM -0700, Paul E. McKenney wrote: > On Mon, Jun 17, 2013 at 05:42:13PM +1000, Michael Ellerman wrote: > > On Sat, Jun 15, 2013 at 12:02:21PM +1000, Benjamin Herrenschmidt wrote: > > > On Fri, 2013-06-14 at 17:06 -0400, Steven Rostedt wrote: > > > > I was pretty much

Re: Regression in RCU subsystem in latest mainline kernel

2013-06-25 Thread Benjamin Herrenschmidt
On Tue, 2013-06-25 at 17:19 +1000, Michael Ellerman wrote: > Here's another trace from 3.10-rc7 plus a few local patches. > > We suspect that the perf enable could be causing a flood of > interrupts, but why > that's clogging things up so badly who knows. Additionally, perf being potentially NMIs

Re: Regression in RCU subsystem in latest mainline kernel

2013-06-25 Thread Michael Ellerman
On Tue, Jun 25, 2013 at 05:19:14PM +1000, Michael Ellerman wrote: > > Here's another trace from 3.10-rc7 plus a few local patches. And here's another with CONFIG_RCU_CPU_STALL_INFO=y in case that's useful: PASS running test_pmc5_6_overuse() INFO: rcu_sched self-detected stall on CPU 8: (

[PATCH 1/4] powerpc: Remove unreachable relocation on exception handlers

2013-06-25 Thread Michael Ellerman
We have relocation on exception handlers defined for h_data_storage and h_instr_storage. However we will never take relocation on exceptions for these because they can only come from a guest, and we never take relocation on exceptions when we transition from guest to host. We also have a handler f

[PATCH 2/4] powerpc: Remove KVMTEST from RELON exception handlers

2013-06-25 Thread Michael Ellerman
KVMTEST is a macro which checks whether we are taking an exception from guest context, if so we branch out of line and eventually call into the KVM code to handle the switch. When running real guests on bare metal (HV KVM) the hardware ensures that we never take a relocation on exception when tran

[PATCH 3/4] powerpc: Rename and flesh out the facility unavailable exception handler

2013-06-25 Thread Michael Ellerman
From: Michael Ellerman The exception at 0xf60 is not the TM (Transactional Memory) unavailable exception, it is the "Facility Unavailable Exception", rename it as such. Flesh out the handler to acknowledge the fact that it can be called for many reasons, one of which is TM being unavailable. Us

[PATCH 4/4] powerpc: Wire up the HV facility unavailable exception

2013-06-25 Thread Michael Ellerman
Similar to the facility unavailble exception, except the facilities are controlled by HFSCR. Adapt the facility_unavailable_exception() so it can be called for either the regular or Hypervisor facility unavailable exceptions. Signed-off-by: Michael Ellerman --- arch/powerpc/kernel/exceptions-64

Re: [PATCH 03/10] powerpc/eeh: Check PCIe link after reset

2013-06-25 Thread Gavin Shan
On Tue, Jun 25, 2013 at 04:06:24PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2013-06-25 at 13:55 +0800, Gavin Shan wrote: >> * don't touch the other command bits >> */ >> - eeh_ops->read_config(dn, PCI_COMMAND, 4, &cmd); >> - if (edev->config_space[1] & PCI_COMMAND_

Re: [PATCH 2/9] PTR_RET is now PTR_ERR_OR_ZERO(): Replace most.

2013-06-25 Thread Benjamin Herrenschmidt
On Sun, 2013-06-16 at 14:12 +0930, Rusty Russell wrote: > Sweep of the simple cases. > > Cc: net...@vger.kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-arm-ker...@lists.infradead.org > Cc: Julia Lawall > Signed-off-by: Rusty Russell Acked-by: Benjamin Herrenschmidt > --- > arch/a

[git pull] Please pull powerpc.git merge branch

2013-06-25 Thread Benjamin Herrenschmidt
Hi Linus ! This is a fix for a regression causing a freescale "83xx" based platforms to crash on boot due to some PCI breakage. Please apply. Cheers, Ben. The following changes since commit 17858ca65eef148d335ffd4cfc09228a1c1cbfb5: Merge tag 'please-pull-fixia64' of git://git.kernel.org/pub/

Re: [PATCH 03/10] powerpc/eeh: Check PCIe link after reset

2013-06-25 Thread Benjamin Herrenschmidt
On Tue, 2013-06-25 at 15:47 +0800, Gavin Shan wrote: > If we just have complete reset for fenced PHB, we need restore it > from the cache (edev->config_space[1]) instead of reading that from > hardware. Fenced PHB is the special case on PowerNV :-) Well not really... In general we can also end up

Re: [PATCH 03/10] powerpc/eeh: Check PCIe link after reset

2013-06-25 Thread Gavin Shan
On Tue, Jun 25, 2013 at 05:57:44PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2013-06-25 at 15:47 +0800, Gavin Shan wrote: >> If we just have complete reset for fenced PHB, we need restore it >> from the cache (edev->config_space[1]) instead of reading that from >> hardware. Fenced PHB is the sp

Re: [PATCH 1/2] powerpc/hw_brk: Fix setting of length for exact mode breakpoints

2013-06-25 Thread Anshuman Khandual
On 06/24/2013 11:17 AM, Michael Neuling wrote: > The smallest match region for both the DABR and DAWR is 8 bytes, so the > kernel needs to filter matches when users want to look at regions smaller than > this. > > Currently we set the length of PPC_BREAKPOINT_MODE_EXACT breakpoints to 8. > This is

Re: [PATCH 2/2] powerpc/hw_brk: Fix clearing of extraneous IRQ

2013-06-25 Thread Anshuman Khandual
On 06/24/2013 11:17 AM, Michael Neuling wrote: > In 9422de3 "powerpc: Hardware breakpoints rewrite to handle non DABR > breakpoint > registers" we changed the way we mark extraneous irqs with this: > > - info->extraneous_interrupt = !((bp->attr.bp_addr <= dar) && > - (dar

[PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Gavin Shan
When the PHB is fenced or dead, it's pointless to collect the data from PCI config space of subordinate PCI devices since it should return 0xFF's. It also has potential risk to incur additional errors. The patch avoids collecting PCI-CFG data while PHB is in fenced or dead state. Signed-off-by: Ga

[PATCH 2/6] powerpc/eeh: Check PCIe link after reset

2013-06-25 Thread Gavin Shan
After reset (e.g. complete reset) in order to bring the fenced PHB back, the PCIe link might not be ready yet. The patch intends to make sure the PCIe link is ready before accessing its subordinate PCI devices. The patch also fixes that wrong values restored to PCI_COMMAND register for PCI bridges.

[PATCH 5/6] powerpc/eeh: Refactor the output message

2013-06-25 Thread Gavin Shan
We needn't the the whole backtrace other than one-line message in the error reporting interrupt handler. For errors triggered by access PCI config space or MMIO, we replace "WARN(1, ...)" with pr_err() and dump_stack(). Signed-off-by: Gavin Shan --- arch/powerpc/kernel/eeh.c |

[PATCH 6/6] powerpc/eeh: Avoid build warnings

2013-06-25 Thread Gavin Shan
The patch is for avoiding following build warnings: The function .pnv_pci_ioda_fixup() references the function __init .eeh_init(). This is often because .pnv_pci_ioda_fixup lacks a __init The function .pnv_pci_ioda_fixup() references the function __init .eeh_addr_cache_build().

[PATCH v2 00/6] Follow-up fixes for EEH on PowerNV

2013-06-25 Thread Gavin Shan
The series of patches are follow-up in order to make EEH workable for PowerNV platform on Juno-IOC-L machine. Couple of issues have been fixed with help of Ben: - Check PCIe link after PHB complete reset - Restore config space for bridges - The EEH address cache wasn't buil

[PATCH 4/6] powerpc/eeh: Fix address catch for PowerNV

2013-06-25 Thread Gavin Shan
On the PowerNV platform, the EEH address cache isn't built correctly because we skipped the EEH devices without binding PE. The patch fixes that. Signed-off-by: Gavin Shan --- arch/powerpc/kernel/eeh_cache.c |2 +- arch/powerpc/platforms/powernv/pci-ioda.c |1 + 2 files changed

[PATCH 3/6] powerpc/powernv: Replace variables with flags

2013-06-25 Thread Gavin Shan
We have 2 fields in "struct pnv_phb" to trace the states. The patch replace the fields with one and introduces flags for that. The patch doesn't impact the logic. Signed-off-by: Gavin Shan --- arch/powerpc/platforms/powernv/eeh-ioda.c |8 arch/powerpc/platforms/powernv/pci.c |

Re: [RFC PATCH 1/3] mm/cma: Move dma contiguous changes into a seperate config

2013-06-25 Thread Anshuman Khandual
> diff --git a/drivers/base/Makefile b/drivers/base/Makefile > index 4e22ce3..5d93bb5 100644 > --- a/drivers/base/Makefile > +++ b/drivers/base/Makefile > @@ -6,7 +6,7 @@ obj-y := core.o bus.o dd.o syscore.o \ > attribute_container.o transport_class.o \ >

Re: [PATCH 1/8] powerpc/perf: Check that events only include valid bits on Power8

2013-06-25 Thread Anshuman Khandual
On 06/24/2013 04:58 PM, Michael Ellerman wrote: > A mistake we have made in the past is that we pull out the fields we > need from the event code, but don't check that there are no unknown bits > set. This means that we can't ever assign meaning to those unknown bits > in future. > > Although we h

Re: [PATCH 2/8] powerpc/perf: Rework disable logic in pmu_disable()

2013-06-25 Thread Anshuman Khandual
On 06/24/2013 04:58 PM, Michael Ellerman wrote: > In pmu_disable() we disable the PMU by setting the FC (Freeze Counters) > bit in MMCR0. In order to do this we have to read/modify/write MMCR0. > > It's possible that we read a value from MMCR0 which has PMAO (PMU Alert > Occurred) set. When we wri

Re: [PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Benjamin Herrenschmidt
On Tue, 2013-06-25 at 18:00 +0800, Gavin Shan wrote: > + /* > +* When the PHB is fenced or dead, it's pointless to collect > +* the data from PCI config space because it should return > +* 0xFF's. For ER, we still retrieve the data from the PCI > +* config spac

Re: [PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Benjamin Herrenschmidt
On Tue, 2013-06-25 at 18:00 +0800, Gavin Shan wrote: > + pci_regs_buf[0] = 0; > + eeh_pe_for_each_dev(pe, edev) { > + loglen += eeh_gather_pci_data(edev, pci_regs_buf, > + EEH_PCI_REGS_LOG_LEN); >

Re: [PATCH 2/6] powerpc/eeh: Check PCIe link after reset

2013-06-25 Thread Benjamin Herrenschmidt
On Tue, 2013-06-25 at 18:00 +0800, Gavin Shan wrote: > After reset (e.g. complete reset) in order to bring the fenced PHB > back, the PCIe link might not be ready yet. The patch intends to > make sure the PCIe link is ready before accessing its subordinate > PCI devices. The patch also fixes that w

[PATCH v3 1/2] perf tools: fix a typo of a Power7 event name

2013-06-25 Thread Runzhen Wang
In the Power7 PMU guide: https://www.power.org/documentation/commonly-used-metrics-for-performance-analysis/ PM_BRU_MPRED is referred to as PM_BR_MPRED. It fixed the typo by changing the name of the event in kernel and documentation accordingly. This patch changes the ABI, there are some reasons

[PATCH v2 2/2] perf tools: Make Power7 events available for perf

2013-06-25 Thread Runzhen Wang
Power7 supports over 530 different perf events but only a small subset of these can be specified by name, for the remaining events, we must specify them by their raw code: perf stat -e r2003c This patch makes all the POWER7 events available in sysfs. So we can instead specify these as:

[PATCH v2 0/2] perf tools: Power7 events name available for perf

2013-06-25 Thread Runzhen Wang
Thank for Sukadev Bhattip and Xiao Guangrong's help. Thank for Michael Ellerman's review. There is the Change Log for v2: 1. As Michael Ellerman suggested, I added runtime overhead information in the 0002 patch's description. 2. Put the events name in a new head file which is named "power7-

RE: [PATCH 3/3] powerpc/pseries: Support compression of oops text via pstore

2013-06-25 Thread Luck, Tony
> Introducing headersize in pstore_write() API would need changes at > multiple places whereits being called. The idea is to move the > compression support to pstore infrastructure so that other platforms > could also make use of it. Any thoughts on the back/forward compatibility as we switch to c

Re: Regression in RCU subsystem in latest mainline kernel

2013-06-25 Thread Paul E. McKenney
On Tue, Jun 25, 2013 at 05:44:23PM +1000, Michael Ellerman wrote: > On Tue, Jun 25, 2013 at 05:19:14PM +1000, Michael Ellerman wrote: > > > > Here's another trace from 3.10-rc7 plus a few local patches. > > And here's another with CONFIG_RCU_CPU_STALL_INFO=y in case that's useful: > > PASS runni

Re: [PATCH 3/3] powerpc/pseries: Support compression of oops text via pstore

2013-06-25 Thread Kees Cook
On Tue, Jun 25, 2013 at 12:04 AM, Aruna Balakrishnaiah wrote: > Hi Kees, > > > On Monday 24 June 2013 11:27 PM, Kees Cook wrote: >> >> On Sun, Jun 23, 2013 at 11:23 PM, Aruna Balakrishnaiah >> wrote: >>> >>> The patch set supports compression of oops messages while writing to >>> NVRAM, >>> this

BUG: no PCI/PCIe devices found in 85xx architecture

2013-06-25 Thread Stefani Seibold
Hi, there is a bug in kernel 3.9 which the new fsl_pci platform driver. The pcibios_init in pci_32.c will be called before the platform driver probe will be invoked. The call order for a p2020 board with linux 3.9 is currently: fsl_pci_init pcibios_init fsl_pci_probe fsl_pci_probe fsl_pci_probe

Re: Inbound PCI and Memory Corruption

2013-06-25 Thread Peter LaDow
On Sat, Jun 22, 2013 at 5:00 PM, Benjamin Herrenschmidt wrote: > Afaik e300 is slightly out of order, maybe it's missing a memory barrier > somewhere One thing to try is to add some to the dma_map/unmap ops. I went through the driver and added memory barriers to the dma_map_page/dma_unmap_pag

Re: [PATCH 04/45] CPU hotplug: Add infrastructure to check lacking hotplug synchronization

2013-06-25 Thread Srivatsa S. Bhat
On 06/25/2013 04:56 AM, Steven Rostedt wrote: > On Sun, 2013-06-23 at 19:08 +0530, Srivatsa S. Bhat wrote: > > > Just to make the code a little cleaner, can you add: > >> diff --git a/kernel/cpu.c b/kernel/cpu.c >> index 860f51a..e90d9d7 100644 >> --- a/kernel/cpu.c >> +++ b/kernel/cpu.c >> @@ -

Re: [PATCH 40/45] powerpc, irq: Use GFP_ATOMIC allocations in atomic context

2013-06-25 Thread Srivatsa S. Bhat
On 06/25/2013 08:43 AM, Benjamin Herrenschmidt wrote: > On Tue, 2013-06-25 at 12:58 +1000, Michael Ellerman wrote: >> On Tue, Jun 25, 2013 at 12:13:04PM +1000, Benjamin Herrenschmidt wrote: >>> On Tue, 2013-06-25 at 12:08 +1000, Michael Ellerman wrote: We're not checking for allocation failure

[PATCH v2 00/45] CPU hotplug: stop_machine()-free CPU hotplug, part 1

2013-06-25 Thread Srivatsa S. Bhat
Hi, This patchset is a first step towards removing stop_machine() from the CPU hotplug offline path. It introduces a set of APIs (as a replacement to preempt_disable()/preempt_enable()) to synchronize with CPU hotplug from atomic contexts. The motivation behind getting rid of stop_machine() is to

[PATCH v2 01/45] CPU hotplug: Provide APIs to prevent CPU offline from atomic context

2013-06-25 Thread Srivatsa S. Bhat
The current CPU offline code uses stop_machine() internally. And disabling preemption prevents stop_machine() from taking effect, thus also preventing CPUs from going offline, as a side effect. There are places where this side-effect of preempt_disable() (or equivalent) is used to synchronize with

[PATCH v2 02/45] CPU hotplug: Clarify the usage of different synchronization APIs

2013-06-25 Thread Srivatsa S. Bhat
We have quite a few APIs now which help synchronize with CPU hotplug. Among them, get/put_online_cpus() is the oldest and the most well-known, so no problems there. By extension, its easy to comprehend the new set : get/put_online_cpus_atomic(). But there is yet another set, which might appear tem

[PATCH v2 03/45] Documentation, CPU hotplug: Recommend usage of get/put_online_cpus_atomic()

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. So add documentation to recommend using the new get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atom

[PATCH v2 04/45] CPU hotplug: Add infrastructure to check lacking hotplug synchronization

2013-06-25 Thread Srivatsa S. Bhat
Add a debugging infrastructure to warn if an atomic hotplug reader has not invoked get_online_cpus_atomic() before traversing/accessing the cpu_online_mask. Encapsulate these checks under a new debug config option DEBUG_HOTPLUG_CPU. This debugging infrastructure proves useful in the tree-wide conv

[PATCH v2 05/45] CPU hotplug: Protect set_cpu_online() to avoid false-positives

2013-06-25 Thread Srivatsa S. Bhat
When bringing a secondary CPU online, the task running on the CPU coming up sets itself in the cpu_online_mask. This is safe even though this task is not the hotplug writer task. But it is kinda hard to teach this to the CPU hotplug debug infrastructure, and if we get it wrong, we risk making the

[PATCH v2 06/45] CPU hotplug: Sprinkle debugging checks to catch locking bugs

2013-06-25 Thread Srivatsa S. Bhat
Now that we have a debug infrastructure in place to detect cases where get/put_online_cpus_atomic() had to be used, add these checks at the right spots to help catch places where we missed converting to the new APIs. Cc: Rusty Russell Cc: Alex Shi Cc: KOSAKI Motohiro Cc: Tejun Heo Cc: Andrew M

[PATCH v2 07/45] CPU hotplug: Expose the new debug config option

2013-06-25 Thread Srivatsa S. Bhat
Now that we have all the pieces of the CPU hotplug debug infrastructure in place, expose the feature by growing a new Kconfig option, CONFIG_DEBUG_HOTPLUG_CPU. Cc: Andrew Morton Cc: "Paul E. McKenney" Cc: Akinobu Mita Cc: Catalin Marinas Cc: Michel Lespinasse Cc: Sergei Shtylyov Signed-off-b

[PATCH v2 08/45] CPU hotplug: Convert preprocessor macros to static inline functions

2013-06-25 Thread Srivatsa S. Bhat
Convert the macros in the CPU hotplug code to static inline C functions. Cc: Thomas Gleixner Cc: Andrew Morton Cc: Tejun Heo Cc: "Rafael J. Wysocki" Signed-off-by: Srivatsa S. Bhat --- include/linux/cpu.h |9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/includ

[PATCH v2 09/45] smp: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Andrew Morton Cc: Wang

[PATCH v2 10/45] sched/core: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Ingo Molnar Cc: Peter

[PATCH v2 11/45] migration: Use raw_spin_lock/unlock since interrupts are already disabled

2013-06-25 Thread Srivatsa S. Bhat
We need not use the raw_spin_lock_irqsave/restore primitives because all CPU_DYING notifiers run with interrupts disabled. So just use raw_spin_lock/unlock. Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Srivatsa S. Bhat --- kernel/sched/core.c |4 ++-- 1 file changed, 2 insertions(+),

[PATCH v2 12/45] sched/fair: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Ingo Molnar Cc: Peter

[PATCH v2 13/45] timer: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Thomas Gleixner Signed

[PATCH v2 14/45] sched/rt: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Ingo Molnar Cc: Peter

[PATCH v2 16/45] tick-broadcast: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Thomas Gleixner Signed

[PATCH v2 15/45] rcu: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. In RCU code, rcu_implicit_dynticks_qs() checks if a CPU is offline, while being protected by a spinlock. Use the get/put_online_cpus_atomic()

[PATCH v2 17/45] time/clocksource: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: John Stultz Cc: Thomas

[PATCH v2 18/45] softirq: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Frederic Weisbecker Cc

[PATCH v2 19/45] irq: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Thomas Gleixner Signed

[PATCH v2 20/45] net: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: "David S. Miller" Cc:

[PATCH v2 21/45] block: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Jens Axboe Signed-off-

[PATCH v2 22/45] percpu_counter: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Al Viro Cc: Tejun Heo

[PATCH v2 23/45] infiniband: ehca: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Hoang-Nam Nguyen Cc: C

[PATCH v2 24/45] [SCSI] fcoe: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Robert Love Cc: "James

[PATCH v2 25/45] staging/octeon: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Greg Kroah-Hartman Cc:

[PATCH v2 26/45] x86: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Thomas Gleixner Cc: In

[PATCH v2 27/45] perf/x86: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
The CPU_DYING notifier modifies the per-cpu pointer pmu->box, and this can race with functions such as uncore_pmu_to_box() and uncore_pci_remove() when we remove stop_machine() from the CPU offline path. So protect them using get/put_online_cpus_atomic(). Cc: Peter Zijlstra Cc: Paul Mackerras Cc

[PATCH v2 28/45] KVM: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Gleb Natapov Cc: Paolo

[PATCH v2 29/45] kvm/vmx: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Gleb Natapov Cc: Paolo

[PATCH v2 30/45] x86/xen: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Konrad Rzeszutek Wilk

[PATCH v2 31/45] alpha/smp: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Richard Henderson Cc:

[PATCH v2 32/45] blackfin/smp: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Mike Frysinger Cc: Bob

[PATCH v2 33/45] cris/smp: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Acked-by: Jesper Nilsson C

[PATCH v2 34/45] hexagon/smp: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Richard Kuo Cc: Thomas

[PATCH v2 35/45] ia64: irq, perfmon: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Tony Luck Cc: Fenghua

[PATCH v2 36/45] ia64: smp, tlb: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Tony Luck Cc: Fenghua

[PATCH v2 37/45] m32r: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Hirokazu Takata Cc: li

[PATCH v2 38/45] MIPS: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Ralf Baechle Cc: David

[PATCH v2 39/45] mn10300: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: David Howells Cc: Koic

[PATCH v2 40/45] powerpc, irq: Use GFP_ATOMIC allocations in atomic context

2013-06-25 Thread Srivatsa S. Bhat
The function migrate_irqs() is called with interrupts disabled and hence its not safe to do GFP_KERNEL allocations inside it, because they can sleep. So change the gfp mask to GFP_ATOMIC. Cc: Benjamin Herrenschmidt Cc: Michael Ellerman Cc: Paul Mackerras Cc: Ian Munsie Cc: Steven Rostedt Cc:

[PATCH v2 41/45] powerpc: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Benjamin Herrenschmidt

[PATCH v2 42/45] powerpc: Use get/put_online_cpus_atomic() to avoid false-positive warning

2013-06-25 Thread Srivatsa S. Bhat
Bringing a secondary CPU online is a special case in which, accessing the cpu_online_mask is safe, even though that task (which running on the CPU coming online) is not the hotplug writer. It is a little hard to teach this to the debugging checks under CONFIG_DEBUG_HOTPLUG_CPU. But luckily powerpc

[PATCH v2 43/45] sh: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Paul Mundt Cc: Thomas

[PATCH v2 44/45] sparc: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: "David S. Miller" Cc:

Re: [PATCH v2 25/45] staging/octeon: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Greg Kroah-Hartman
On Wed, Jun 26, 2013 at 02:00:04AM +0530, Srivatsa S. Bhat wrote: > Once stop_machine() is gone from the CPU offline path, we won't be able > to depend on disabling preemption to prevent CPUs from going offline > from under us. > > Use the get/put_online_cpus_atomic() APIs to prevent CPUs from goi

[PATCH v2 45/45] tile: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Srivatsa S. Bhat
Once stop_machine() is gone from the CPU offline path, we won't be able to depend on disabling preemption to prevent CPUs from going offline from under us. Use the get/put_online_cpus_atomic() APIs to prevent CPUs from going offline, while invoking from atomic context. Cc: Chris Metcalf Signed-o

Re: mpc85xx_edac.c: Should the mpc85xx_l2_isr be shared irqs?

2013-06-25 Thread Scott Wood
On Wed, Jul 18, 2012 at 05:00:29PM +0800, Xufeng Zhang wrote: > Hi All, > > I detected below error when booting p1021mds after enabled EDAC feature: > EDAC MC: Ver: 2.1.0 Jul 17 2012 > Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista Software > EDAC MC0: Giving out device to 'MPC85xx_edac' 'm

[PATCH] Fix string emulation for 32-bit process on ppc64

2013-06-25 Thread James Yang
String instruction emulation would erroneously result in a segfault if the upper bits of the EA are set and is so high that it fails access check. Truncate the EA to 32 bits if the process is 32-bit. Signed-off-by: James Yang --- arch/powerpc/kernel/traps.c |4 1 files changed, 4 inser

Re: [PATCH v2 2/2] perf tools: Make Power7 events available for perf

2013-06-25 Thread Vince Weaver
On Tue, 25 Jun 2013, Runzhen Wang wrote: > This patch makes all the POWER7 events available in sysfs. > > ... > > $ size arch/powerpc/perf/power7-pmu.o >text data bss dec hex filename >3073 2720 0579316a1 arch/powerpc/perf/power7-pmu.o > > and

Re: [PATCH v2 15/45] rcu: Use get/put_online_cpus_atomic() to prevent CPU offline

2013-06-25 Thread Paul E. McKenney
On Wed, Jun 26, 2013 at 01:57:55AM +0530, Srivatsa S. Bhat wrote: > Once stop_machine() is gone from the CPU offline path, we won't be able > to depend on disabling preemption to prevent CPUs from going offline > from under us. > > In RCU code, rcu_implicit_dynticks_qs() checks if a CPU is offline

Re: [v2] Enhanced support for MPC8xx/8xxx watchdog

2013-06-25 Thread Scott Wood
On Thu, Feb 28, 2013 at 09:52:22AM +0100, LEROY Christophe wrote: > This patch modifies the behaviour of the MPC8xx/8xxx watchdog. On the MPC8xx, > at 133Mhz, the maximum timeout of the watchdog timer is 1s, which means it > must > be pinged twice a second. This is not in line with the Linux watch

Re: powerpc/85xx: Move ePAPR paravirt initialization earlier

2013-06-25 Thread Scott Wood
On Tue, Mar 05, 2013 at 05:52:36PM +0200, Laurentiu TUDOR wrote: > From: Tudor Laurentiu > > The ePAPR para-virtualization needs to happen very early > otherwise the bytechannel based console will silently > drop some of the early boot messages. > > Before this patch, this is how the kernel log

Re: BUG: no PCI/PCIe devices found in 85xx architecture

2013-06-25 Thread Scott Wood
On 06/25/2013 01:40:14 PM, Stefani Seibold wrote: Hi, there is a bug in kernel 3.9 which the new fsl_pci platform driver. The pcibios_init in pci_32.c will be called before the platform driver probe will be invoked. The call order for a p2020 board with linux 3.9 is currently: fsl_pci_ini

Re: [PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Gavin Shan
On Tue, Jun 25, 2013 at 09:55:15PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2013-06-25 at 18:00 +0800, Gavin Shan wrote: >> + /* >> +* When the PHB is fenced or dead, it's pointless to collect >> +* the data from PCI config space because it should return >> +* 0xF

Re: [PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Gavin Shan
On Tue, Jun 25, 2013 at 09:56:06PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2013-06-25 at 18:00 +0800, Gavin Shan wrote: >> + pci_regs_buf[0] = 0; >> + eeh_pe_for_each_dev(pe, edev) { >> + loglen += eeh_gather_pci_data(edev, pci_regs_buf, >> +

Re: [PATCH 2/6] powerpc/eeh: Check PCIe link after reset

2013-06-25 Thread Gavin Shan
On Tue, Jun 25, 2013 at 09:58:40PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2013-06-25 at 18:00 +0800, Gavin Shan wrote: >> After reset (e.g. complete reset) in order to bring the fenced PHB >> back, the PCIe link might not be ready yet. The patch intends to >> make sure the PCIe link is ready

Re: [PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Benjamin Herrenschmidt
On Wed, 2013-06-26 at 07:49 +0800, Gavin Shan wrote: > It's something like the followings. For ER on PE#0, we will have > PE with type of EEH_PE_BUS marked as isolated, instead of the > one with EEH_PE_PHB. > > > [ EEH_PE_PHB] <---> [ EEH_PE_PHB] <---> [ EEH_PE_PHB] >

Re: [PATCH 1/6] powerpc/eeh: Don't collect PCI-CFG data on PHB

2013-06-25 Thread Gavin Shan
On Wed, Jun 26, 2013 at 09:57:26AM +1000, Benjamin Herrenschmidt wrote: >On Wed, 2013-06-26 at 07:49 +0800, Gavin Shan wrote: >> It's something like the followings. For ER on PE#0, we will have >> PE with type of EEH_PE_BUS marked as isolated, instead of the >> one with EEH_PE_PHB. >> >> >>

[PATCH 5/6] powerpc/eeh: Refactor the output message

2013-06-25 Thread Gavin Shan
We needn't the the whole backtrace other than one-line message in the error reporting interrupt handler. For errors triggered by access PCI config space or MMIO, we replace "WARN(1, ...)" with pr_err() and dump_stack(). Signed-off-by: Gavin Shan --- arch/powerpc/kernel/eeh.c |

[PATCH v3 00/6] Follow-up fixes for EEH on PowerNV

2013-06-25 Thread Gavin Shan
The series of patches are follow-up in order to make EEH workable for PowerNV platform on Juno-IOC-L machine. Couple of issues have been fixed with help of Ben: - Check PCIe link after PHB complete reset - Restore config space for bridges - The EEH address cache wasn't buil

  1   2   >