Re: [PATCH] fadump: fix endianess issues in firmware assisted dump handling

2014-09-04 Thread Mahesh Jagannath Salgaonkar
On 09/03/2014 05:59 PM, Hari Bathini wrote: > Firmware-assisted dump (fadump) kernel code is not LE compliant. The > below patch tries to fix this issue. Tested this patch with upstream > kernel. Did some sanity testing for the LE fadump vmcore generated. > Below output shows crash tool successful

deb-pkg: Add support for powerpc little endian

2014-09-04 Thread Michael Neuling
The Debian powerpc little endian architecture is called ppc64le. This is the default architecture used by Ubuntu for powerpc. The below checks the kernel config to see if we are compiling little endian and sets the Debian arch appropriately. Signed-off-by: Michael Neuling diff --git a/scripts/

Re: bit fields && data tearing

2014-09-04 Thread Paul E. McKenney
On Thu, Sep 04, 2014 at 10:47:24PM -0400, Peter Hurley wrote: > Hi James, > > On 09/04/2014 10:11 PM, James Bottomley wrote: > > On Thu, 2014-09-04 at 17:17 -0700, Paul E. McKenney wrote: > >> +And there are anti-guarantees: > >> + > >> + (*) These guarantees do not apply to bitfields, because com

Re: bit fields && data tearing

2014-09-04 Thread Peter Hurley
Hi James, On 09/04/2014 10:11 PM, James Bottomley wrote: > On Thu, 2014-09-04 at 17:17 -0700, Paul E. McKenney wrote: >> +And there are anti-guarantees: >> + >> + (*) These guarantees do not apply to bitfields, because compilers often >> + generate code to modify these using non-atomic read-mo

Re: [PATCH] IBM Akebono: Remove obsolete config select

2014-09-04 Thread Alistair Popple
On Fri, 5 Sep 2014 00:20:42 Paul Bolle wrote: > > On Fri, 13 Jun 2014 13:56:32 Paul Bolle wrote: > > > On Fri, 2014-05-02 at 18:06 +1000, Alistair Popple wrote: > > > > The original implementation of MMC support for Akebono introduced a > > > > new configuration symbol (MMC_SDHCI_OF_476GTR). Thi

Re: bit fields && data tearing

2014-09-04 Thread James Bottomley
On Thu, 2014-09-04 at 17:17 -0700, Paul E. McKenney wrote: > +And there are anti-guarantees: > + > + (*) These guarantees do not apply to bitfields, because compilers often > + generate code to modify these using non-atomic read-modify-write > + sequences. Do not attempt to use bitfields t

Re: bit fields && data tearing

2014-09-04 Thread H. Peter Anvin
On 09/04/2014 05:59 PM, Peter Hurley wrote: > I have no idea how prevalent the ev56 is compared to the ev5. > Still we're talking about a chip that came out in 1996. Ah yes, I stand corrected. According to Wikipedia, the affected CPUs were all the 2106x CPUs (EV4, EV45, LCA4, LCA45) plus the 2116

Re: bit fields && data tearing

2014-09-04 Thread H. Peter Anvin
On 09/04/2014 05:59 PM, Peter Hurley wrote: > I have no idea how prevalent the ev56 is compared to the ev5. > Still we're talking about a chip that came out in 1996. Ah yes, I stand corrected. According to Wikipedia, the affected CPUs were all the 2106x CPUs (EV4, EV45, LCA4, LCA45) plus the 2116

Re: bit fields && data tearing

2014-09-04 Thread Peter Hurley
[ +cc linux-alpha ] Hi Paul, On 09/04/2014 08:17 PM, Paul E. McKenney wrote: > On Thu, Sep 04, 2014 at 03:16:03PM -0700, H. Peter Anvin wrote: >> On 09/04/2014 12:42 PM, Peter Hurley wrote: >>> >>> Or we could give up on the Alpha. >>> >> >> If Alpha is turning into Voyager (kept alive only as a

[PATCH] Make CONFIG_FHANDLE=y for all 64 bit powerpc defconfigs

2014-09-04 Thread Cyril Bur
CONFIG_FHANDLE is a requirement for systemd and with the increasing uptake of systemd within distros it makes sense for 64 bit defconfigs to include it. Signed-off-by: Cyril Bur --- arch/powerpc/configs/cell_defconfig | 1 + arch/powerpc/configs/celleb_defconfig| 1 + arch/power

Re: bit fields && data tearing

2014-09-04 Thread Peter Hurley
[ +cc linux-alpha ] On 09/04/2014 06:14 PM, H. Peter Anvin wrote: > On 09/04/2014 02:52 AM, Benjamin Herrenschmidt wrote: >> >> Yeah correct, alpha and bytes right ? Is there any other ? That's why I >> suggested int. >> > > Even for Alpha it is only the 21064 AFAIK. For -mcpu=ev5 (21164) and th

Re: [PATCH 2/2] sched: BUG when stack end location is over written

2014-09-04 Thread Aaron Tomlin
On Thu, Sep 04, 2014 at 05:32:31PM +0200, Peter Zijlstra wrote: > On Thu, Sep 04, 2014 at 03:50:24PM +0100, Aaron Tomlin wrote: > > Currently in the event of a stack overrun a call to schedule() > > does not check for this type of corruption. This corruption is > > often silent and can go unnoticed

Re: [PATCH 1/2] sched: Add helper for task stack page overrun checking

2014-09-04 Thread Aaron Tomlin
On Thu, Sep 04, 2014 at 05:02:34PM +0200, Oleg Nesterov wrote: > On 09/04, Aaron Tomlin wrote: > > > > +#define task_stack_end_corrupted(task) \ > > + (*(end_of_stack(task)) != STACK_END_MAGIC) > > and it is always used along with "tsk != init_task". > > But why we exclude swapper/0? Ca

[PATCH 2/2] sched: BUG when stack end location is over written

2014-09-04 Thread Aaron Tomlin
Currently in the event of a stack overrun a call to schedule() does not check for this type of corruption. This corruption is often silent and can go unnoticed. However once the corrupted region is examined at a later stage, the outcome is undefined and often results in a sporadic page fault which

[PATCH 0/2] sched: Always check the integrity of the canary

2014-09-04 Thread Aaron Tomlin
Currently in the event of a stack overrun a call to schedule() does not check for this type of corruption. This corruption is often silent and can go unnoticed. However once the corrupted region is examined at a later stage, the outcome is undefined and often results in a sporadic page fault which

[PATCH 1/2] sched: Add helper for task stack page overrun checking

2014-09-04 Thread Aaron Tomlin
This facility is used in a few places so let's introduce a helper function to improve readability. Signed-off-by: Aaron Tomlin --- arch/powerpc/mm/fault.c| 6 ++ arch/x86/mm/fault.c| 5 + include/linux/sched.h | 3 +++ kernel/trace/trace_stack.c | 5 ++--- 4 files change

Re: bit fields && data tearing

2014-09-04 Thread Paul E. McKenney
On Thu, Sep 04, 2014 at 03:16:03PM -0700, H. Peter Anvin wrote: > On 09/04/2014 12:42 PM, Peter Hurley wrote: > > > > Or we could give up on the Alpha. > > > > If Alpha is turning into Voyager (kept alive only as a museum piece, but > actively causing problems) then please let's kill it. Sorry

Re: [PATCH v2] QE: move qe code from arch/powerpc to drivers/soc

2014-09-04 Thread Scott Wood
On Thu, 2014-09-04 at 13:06 +0800, Zhao Qiang wrote: > LS1 is arm cpu and it has qe ip block. > move qe code from platform directory to public directory. > > QE is an IP block integrates several comunications peripheral > controllers. It can implement a variety of applications, such > as uart, usb

Re: bit fields && data tearing

2014-09-04 Thread H. Peter Anvin
On 09/04/2014 12:42 PM, Peter Hurley wrote: > > Or we could give up on the Alpha. > If Alpha is turning into Voyager (kept alive only as a museum piece, but actively causing problems) then please let's kill it. -hpa ___ Linuxppc-dev mailing

Re: bit fields && data tearing

2014-09-04 Thread H. Peter Anvin
On 09/04/2014 02:52 AM, Benjamin Herrenschmidt wrote: > > Yeah correct, alpha and bytes right ? Is there any other ? That's why I > suggested int. > Even for Alpha it is only the 21064 AFAIK. -hpa ___ Linuxppc-dev mailing list Linuxppc-dev@l

Re: [4/5] IBM Akebono: Add the Akebono platform

2014-09-04 Thread Paul Bolle
netdev list. I noticed that this symbol (and its driver) are still not in v3.17-rc3 nor in next-20140904. Any update on this? Thanks, Paul Bolle ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] IBM Akebono: Remove obsolete config select

2014-09-04 Thread Paul Bolle
On Fri, 2014-06-20 at 10:10 +1000, Alistair Popple wrote: > Hi Ben, > > It looks like we may have missed this trivial fix? Can you please apply it to > your tree? > > Regards, > > Alistair > > On Fri, 13 Jun 2014 13:56:32 Paul Bolle wrote: > > On Fri, 2014-05-02 at 18:06 +1000, Alistair Popple

Re: [PATCH v2] iommu/fsl: Fix warning resulting from adding PCI device twice

2014-09-04 Thread Emil Medve
On 09/04/2014 06:38 AM, Varun Sethi wrote: > iommu_group_get_for_dev determines the iommu group for the PCI device and adds > the device to the group. > > In the PAMU driver we were again adding the device to the same group without > checking > if the device already had an iommu group. This resul

Re: bit fields && data tearing

2014-09-04 Thread Peter Hurley
On 09/04/2014 12:50 PM, One Thousand Gnomes wrote: >> Besides updating the documentation, it may make sense to do something >> arch-specific. Just bumping out storage on arches that don't need it >> seems wasteful, as does generating bus locks on arches that don't need it. >> Unfortunately, the cod

Re: bit fields && data tearing

2014-09-04 Thread One Thousand Gnomes
> Besides updating the documentation, it may make sense to do something > arch-specific. Just bumping out storage on arches that don't need it > seems wasteful, as does generating bus locks on arches that don't need it. > Unfortunately, the code churn looks unavoidable. The arch specific is pretty

Re: [PATCH 2/2] sched: BUG when stack end location is over written

2014-09-04 Thread Peter Zijlstra
On Thu, Sep 04, 2014 at 03:50:24PM +0100, Aaron Tomlin wrote: > Currently in the event of a stack overrun a call to schedule() > does not check for this type of corruption. This corruption is > often silent and can go unnoticed. However once the corrupted > region is examined at a later stage, the

Re: [PATCH 1/2] sched: Add helper for task stack page overrun checking

2014-09-04 Thread Peter Zijlstra
On Thu, Sep 04, 2014 at 03:50:23PM +0100, Aaron Tomlin wrote: > @@ -537,8 +535,8 @@ void bad_page_fault(struct pt_regs *regs, unsigned long > address, int sig) > printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n", > regs->nip); > > - stackend = end_of_stack(curr

Re: [PATCH 1/2] sched: Add helper for task stack page overrun checking

2014-09-04 Thread Oleg Nesterov
On 09/04, Aaron Tomlin wrote: > > +#define task_stack_end_corrupted(task) \ > + (*(end_of_stack(task)) != STACK_END_MAGIC) and it is always used along with "tsk != init_task". But why we exclude swapper/0? Can't we add end_of_stack(current) = STACK_END_MAGIC; somewhere at th

Re: TTM placement & caching issue/questions

2014-09-04 Thread Thomas Hellstrom
On 09/04/2014 11:43 AM, Benjamin Herrenschmidt wrote: > On Thu, 2014-09-04 at 11:34 +0200, Daniel Vetter wrote: >> On Thu, Sep 04, 2014 at 09:44:04AM +0200, Thomas Hellstrom wrote: >>> Last time I tested, (and it seems like Michel is on the same track), >>> writing with the CPU to write-combined me

Re: TTM placement & caching issue/questions

2014-09-04 Thread Daniel Vetter
On Thu, Sep 04, 2014 at 09:44:04AM +0200, Thomas Hellstrom wrote: > Last time I tested, (and it seems like Michel is on the same track), > writing with the CPU to write-combined memory was substantially faster > than writing to cached memory, with the additional side-effect that CPU > caches are le

Re: bit fields && data tearing

2014-09-04 Thread Mikael Pettersson
Benjamin Herrenschmidt writes: > On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote: > > > Apologies for hijacking this thread but I need to extend this discussion > > somewhat regarding what a compiler might do with adjacent fields in a > > structure. > > > > The tty subsystem defines

Re: TTM placement & caching issue/questions

2014-09-04 Thread Thomas Hellstrom
Hi! Let me try to bring some clarity and suggestions into this. On 09/04/2014 02:12 AM, Benjamin Herrenschmidt wrote: > Hi folks ! > > I've been tracking down some problems with the recent DRI on powerpc and > stumbled upon something that doesn't look right, and not necessarily > only for us. > >

Re: TTM placement & caching issue/questions

2014-09-04 Thread Thomas Hellstrom
On 09/04/2014 10:06 AM, Benjamin Herrenschmidt wrote: > On Thu, 2014-09-04 at 09:44 +0200, Thomas Hellstrom wrote: > >>> This will, from what I can tell, try to use the same caching mode as the >>> original object: >>> >>> if ((cur_placement & caching) != 0) >>> result |= (cur_place

Re: bit fields && data tearing

2014-09-04 Thread Jakub Jelinek
On Thu, Sep 04, 2014 at 08:24:12AM -0400, Peter Hurley wrote: > And I just confirmed with the Alpha cross-compiler that the fields are > not 'padded out' if volatile either. They can't be, struct layout is part of the ABI. Guess you can introduce say atomic_bool and similar typedefs which would be

Re: bit fields && data tearing

2014-09-04 Thread Peter Hurley
On 09/04/2014 05:09 AM, Jakub Jelinek wrote: > On Thu, Sep 04, 2014 at 10:57:40AM +0200, Mikael Pettersson wrote: >> Benjamin Herrenschmidt writes: >> > On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote: >> > >> > > Apologies for hijacking this thread but I need to extend this discussion >>

[PATCH v2] iommu/fsl: Fix warning resulting from adding PCI device twice

2014-09-04 Thread Varun Sethi
iommu_group_get_for_dev determines the iommu group for the PCI device and adds the device to the group. In the PAMU driver we were again adding the device to the same group without checking if the device already had an iommu group. This resulted in the following warning. sysfs: cannot create du

RE: [PATCH] iommu/fsl: Fix warning resulting from adding PCI device twice

2014-09-04 Thread Varun Sethi
> -Original Message- > From: Joerg Roedel [mailto:j...@8bytes.org] > Sent: Thursday, September 04, 2014 3:44 PM > To: Sethi Varun-B16395 > Cc: io...@lists.linux-foundation.org; alex.william...@redhat.com; Medve > Emilian-EMMEDVE1; linuxppc-...@ozlabs.org; linux-ker...@vger.kernel.org > Su

Re: [PATCH] iommu/fsl: Fix warning resulting from adding PCI device twice

2014-09-04 Thread Joerg Roedel
On Thu, Sep 04, 2014 at 11:33:42AM +0530, Varun Sethi wrote: > + if (!iommu_group_get(dev)) > + ret = iommu_group_add_device(group, dev); > > iommu_group_put(group); > return ret; Doesn't this additional call to iommu_group_get take a reference to the iommu_group that

Re: bit fields && data tearing

2014-09-04 Thread Benjamin Herrenschmidt
On Thu, 2014-09-04 at 08:43 +, David Laight wrote: > From: Benjamin Herrenschmidt > > On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote: > > > > > Apologies for hijacking this thread but I need to extend this discussion > > > somewhat regarding what a compiler might do with adjacent field

Re: TTM placement & caching issue/questions

2014-09-04 Thread Benjamin Herrenschmidt
On Thu, 2014-09-04 at 11:34 +0200, Daniel Vetter wrote: > On Thu, Sep 04, 2014 at 09:44:04AM +0200, Thomas Hellstrom wrote: > > Last time I tested, (and it seems like Michel is on the same track), > > writing with the CPU to write-combined memory was substantially faster > > than writing to cached

Re: bit fields && data tearing

2014-09-04 Thread Jakub Jelinek
On Thu, Sep 04, 2014 at 10:57:40AM +0200, Mikael Pettersson wrote: > Benjamin Herrenschmidt writes: > > On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote: > > > > > Apologies for hijacking this thread but I need to extend this discussion > > > somewhat regarding what a compiler might do wi

RE: bit fields && data tearing

2014-09-04 Thread David Laight
From: Benjamin Herrenschmidt > On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote: > > > Apologies for hijacking this thread but I need to extend this discussion > > somewhat regarding what a compiler might do with adjacent fields in a > > structure. > > > > The tty subsystem defines a large

Re: TTM placement & caching issue/questions

2014-09-04 Thread Benjamin Herrenschmidt
On Thu, 2014-09-04 at 16:59 +0900, Michel Dänzer wrote: > > Define 'not reliably'. I have uptimes of weeks, and I'm pretty sure I'm > not alone, at least with AGP 1x it seems to work quite well for most > people. So I don't see the justification for intentionally breaking it > completely for al

Re: TTM placement & caching issue/questions

2014-09-04 Thread Benjamin Herrenschmidt
On Thu, 2014-09-04 at 09:44 +0200, Thomas Hellstrom wrote: > > This will, from what I can tell, try to use the same caching mode as the > > original object: > > > > if ((cur_placement & caching) != 0) > > result |= (cur_placement & caching); > > > > And cur_placement comes from bo-

Re: TTM placement & caching issue/questions

2014-09-04 Thread Michel Dänzer
On 04.09.2014 16:59, Michel Dänzer wrote: On 04.09.2014 16:54, Benjamin Herrenschmidt wrote: On Thu, 2014-09-04 at 16:19 +0900, Michel Dänzer wrote: +#else /* CONFIG_X86 */ +int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t *placement) +{ + if (*placement & (TTM_PL_TT | TTM_PL

Re: TTM placement & caching issue/questions

2014-09-04 Thread Michel Dänzer
On 04.09.2014 16:54, Benjamin Herrenschmidt wrote: On Thu, 2014-09-04 at 16:19 +0900, Michel Dänzer wrote: +#else /* CONFIG_X86 */ +int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t *placement) +{ + if (*placement & (TTM_PL_TT | TTM_PL_FLAG_SYSTEM)) { + ttm->caching

Re: TTM placement & caching issue/questions

2014-09-04 Thread Benjamin Herrenschmidt
On Thu, 2014-09-04 at 16:19 +0900, Michel Dänzer wrote: > > +#else /* CONFIG_X86 */ > > +int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t > *placement) > > +{ > > + if (*placement & (TTM_PL_TT | TTM_PL_FLAG_SYSTEM)) { > > + ttm->caching_state = tt_cached; > > +

Re: TTM placement & caching issue/questions

2014-09-04 Thread Michel Dänzer
On 04.09.2014 10:55, Jerome Glisse wrote: While i agree about the issue of incoherent double map of same page, i think we have more issue. For instance lattely AMD have been pushing a lot of patches to move things to use uncached memory for radeon and as usual thoses patches comes with no commen

Re: TTM placement & caching issue/questions

2014-09-04 Thread Michel Dänzer
On 04.09.2014 11:36, Jerome Glisse wrote: On Wed, Sep 03, 2014 at 10:31:18PM -0400, Jerome Glisse wrote: On Thu, Sep 04, 2014 at 12:25:23PM +1000, Benjamin Herrenschmidt wrote: On Wed, 2014-09-03 at 22:07 -0400, Jerome Glisse wrote: So in the meantime the attached patch should work, it just s

Re: TTM placement & caching issue/questions

2014-09-04 Thread Gabriel Paubert
On Wed, Sep 03, 2014 at 10:36:57PM -0400, Jerome Glisse wrote: > On Wed, Sep 03, 2014 at 10:31:18PM -0400, Jerome Glisse wrote: > > On Thu, Sep 04, 2014 at 12:25:23PM +1000, Benjamin Herrenschmidt wrote: > > > On Wed, 2014-09-03 at 22:07 -0400, Jerome Glisse wrote: > > > > > > > So in the meantime