Re: [kernel,v2,1/2] powerpc/iommu: Stop using @current in mm_iommu_xxx

2016-07-22 Thread Nicholas Piggin
On Wed, 20 Jul 2016 14:34:30 +1000 Alexey Kardashevskiy wrote: > static long tce_iommu_register_pages(struct tce_container *container, > @@ -128,10 +129,17 @@ static long tce_iommu_register_pages(struct > tce_container *container, ((vaddr + size) < vaddr)) > return -EINVAL; > >

Re: [kernel,v2,1/2] powerpc/iommu: Stop using @current in mm_iommu_xxx

2016-07-22 Thread Nicholas Piggin
On Wed, 20 Jul 2016 14:34:30 +1000 Alexey Kardashevskiy wrote: > static long tce_iommu_register_pages(struct tce_container *container, > @@ -128,10 +129,17 @@ static long tce_iommu_register_pages(struct > tce_container *container, ((vaddr + size) < vaddr)) > return -EINVAL; > >

Re: [PATCH 3/3] mm/vmalloc: correct a few logic error in __insert_vmap_area()

2016-09-19 Thread Nicholas Piggin
On Tue, 20 Sep 2016 14:02:26 +0800 zijun_hu wrote: > From: zijun_hu > > correct a few logic error in __insert_vmap_area() since the else if > condition is always true and meaningless > > avoid endless loop under [un]mapping improper ranges whose boundary > are not aligned to page > > correct

[PATCH] percpu: improve generic percpu modify-return implementation

2016-09-21 Thread Nicholas Piggin
,3,10 ld 9,48(13) ldx 3,9,3 With this patch it saves 2 loads: ld 10,48(13) ldx 9,3,10 addi 9,9,1 stdx 9,3,10 Signed-off-by: Nicholas Piggin --- include/asm-generic/percpu.h | 54 +--- 1 file changed, 31 insertions(+

Re: [PATCH] percpu: improve generic percpu modify-return implementation

2016-09-21 Thread Nicholas Piggin
On Wed, 21 Sep 2016 18:51:37 +1000 Nicholas Piggin wrote: > Some architectures require an additional load to find the address of > percpu pointers. In some implemenatations, the C aliasing rules do not > allow the result of that load to be kept over the store that modifies > the per

Re: [PATCH] percpu: improve generic percpu modify-return implementation

2016-09-21 Thread Nicholas Piggin
On Wed, 21 Sep 2016 15:16:25 -0500 (CDT) Christoph Lameter wrote: > On Wed, 21 Sep 2016, Tejun Heo wrote: > > > Hello, Nick. > > > > How have you been? :) > > > > He is baack. Are we getting SL!B? ;-) > Hey Christoph. Sure, why not.

Re: [PATCH] percpu: improve generic percpu modify-return implementation

2016-09-21 Thread Nicholas Piggin
On Wed, 21 Sep 2016 10:23:43 -0400 Tejun Heo wrote: > Hello, Nick. > > How have you been? :) Hey Tejun, Well thank you, how about you? > On Wed, Sep 21, 2016 at 08:57:11PM +1000, Nicholas Piggin wrote: > > On Wed, 21 Sep 2016 18:51:37 +1000 > > Nicholas Piggin

Re: [PATCH 3/5] mm/vmalloc.c: correct lazy_max_pages() return value

2016-09-22 Thread Nicholas Piggin
On Fri, 23 Sep 2016 00:30:20 +0800 zijun_hu wrote: > On 2016/9/22 20:37, Michal Hocko wrote: > > On Thu 22-09-16 09:13:50, zijun_hu wrote: > >> On 09/22/2016 08:35 AM, David Rientjes wrote: > > [...] > >>> The intent is as it is implemented; with your change, lazy_max_pages() is > >>> pote

Re: [PATCH] fs/select: add vmalloc fallback for select(2)

2016-09-23 Thread Nicholas Piggin
On Fri, 23 Sep 2016 14:42:53 +0800 "Hillf Danton" wrote: > > > > The select(2) syscall performs a kmalloc(size, GFP_KERNEL) where size grows > > with the number of fds passed. We had a customer report page allocation > > failures of order-4 for this allocation. This is a costly order, so it migh

Re: [PATCH 3/5] mm/vmalloc.c: correct lazy_max_pages() return value

2016-09-23 Thread Nicholas Piggin
On Fri, 23 Sep 2016 13:00:35 +0800 zijun_hu wrote: > On 2016/9/23 11:30, Nicholas Piggin wrote: > > On Fri, 23 Sep 2016 00:30:20 +0800 > > zijun_hu wrote: > > > >> On 2016/9/22 20:37, Michal Hocko wrote: > >>> On Thu 22-09-16 09:13:50, zijun_h

Re: [PATCH] percpu: improve generic percpu modify-return implementation

2016-09-23 Thread Nicholas Piggin
On Thu, 22 Sep 2016 12:07:49 -0400 Tejun Heo wrote: > Hello, > > On Thu, Sep 22, 2016 at 02:35:00PM +1000, Nicholas Piggin wrote: > > Well thank you, how about you? > > Heh, can't complain. Hope to see you around sometime. It's been > forever. Yeah, i

Re: [PATCH] fs/select: add vmalloc fallback for select(2)

2016-09-27 Thread Nicholas Piggin
On Tue, 27 Sep 2016 10:44:04 +0200 Vlastimil Babka wrote: > On 09/23/2016 06:47 PM, Jason Baron wrote: > > Hi, > > > > On 09/23/2016 03:24 AM, Nicholas Piggin wrote: > >> On Fri, 23 Sep 2016 14:42:53 +0800 > >> "Hillf Danton" wrote: >

Re: [PATCH] fs/select: add vmalloc fallback for select(2)

2016-09-27 Thread Nicholas Piggin
On Tue, 27 Sep 2016 11:37:24 + David Laight wrote: > From: Nicholas Piggin > > Sent: 27 September 2016 12:25 > > On Tue, 27 Sep 2016 10:44:04 +0200 > > Vlastimil Babka wrote: > > > > > On 09/23/2016 06:47 PM, Jason Baron wrote: > > >

Re: [PATCH v2 1/3] powerpc: Factor out common code in setup-common.c

2016-07-31 Thread Nicholas Piggin
On Thu, 28 Jul 2016 16:07:16 -0700 Andrey Smirnov wrote: > Factor out a small bit of common code in machine_restart(), > machine_power_off() and machine_halt(). > > Signed-off-by: Andrey Smirnov > --- > > No changes compared to v1. > > arch/powerpc/kernel/setup-common.c | 23 ++--

Re: [PATCH v2 2/3] powerpc: Call chained reset handlers during reset

2016-07-31 Thread Nicholas Piggin
On Thu, 28 Jul 2016 16:07:17 -0700 Andrey Smirnov wrote: > Call out to all restart handlers that were added via > register_restart_handler() API when restarting the machine. > > Signed-off-by: Andrey Smirnov > --- > > No changes compared to v1 > > arch/powerpc/kernel/setup-common.c | 4

Re: [PATCH v2 3/3] powerpc: Convert fsl_rstcr_restart to a reset handler

2016-07-31 Thread Nicholas Piggin
On Thu, 28 Jul 2016 16:07:18 -0700 Andrey Smirnov wrote: > Convert fsl_rstcr_restart into a function to be registered with > register_reset_handler(). > > Signed-off-by: Andrey Smirnov > --- > > Changes since v1: > > - fsl_rstcr_restart is registered as a reset handler in > se

Re: Question on smp_mb__before_spinlock

2016-09-07 Thread Nicholas Piggin
On Mon, 5 Sep 2016 11:37:53 +0200 Peter Zijlstra wrote: > Hi all, > > So recently I've had two separate issues that touched upon > smp_mb__before_spinlock(). > > > Since its inception, our understanding of ACQUIRE, esp. as applied to > spinlocks, has changed somewhat. Also, I wonder if, with a

Re: Build failure in -next due to 'kbuild: allow archs to select link dead code/data elimination'

2016-09-12 Thread Nicholas Piggin
On Mon, 12 Sep 2016 20:17:30 -0700 Guenter Roeck wrote: > Hi Nicholas, > > On 09/12/2016 07:00 PM, Nicholas Piggin wrote: > > On Mon, 12 Sep 2016 15:24:43 -0700 > > Guenter Roeck wrote: > > > >> Hi, > >> > >> your commit 'kbuild: all

Re: linux-next: manual merge of the kbuild tree with Linus' tree

2016-09-12 Thread Nicholas Piggin
Rothwell > wrote: > > > > On Mon, 12 Sep 2016 11:03:08 +0200 Michal Marek wrote: > > > > > > On 2016-09-12 04:53, Nicholas Piggin wrote: > > > > Question, what is the best way to merge dependent patches? Considering > > > > they will

Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in /proc/self/smaps)

2016-09-12 Thread Nicholas Piggin
On Mon, 12 Sep 2016 21:06:49 -0700 Dan Williams wrote: > On Mon, Sep 12, 2016 at 6:31 PM, Nicholas Piggin wrote: > > On Mon, 12 Sep 2016 08:01:48 -0700 > [..] > > That said, a noop system call is on the order of 100 cycles nowadays, > > so rushing to implement these

Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in /proc/self/smaps)

2016-09-13 Thread Nicholas Piggin
On Tue, 13 Sep 2016 00:17:32 -0700 Christoph Hellwig wrote: > On Tue, Sep 13, 2016 at 11:53:11AM +1000, Nicholas Piggin wrote: > > - Application mmaps a file, faults in block 0 > > - FS allocates block, creates mappings, syncs metadata, sets "no fsync" > > fla

Re: linux-next: manual merge of the kbuild tree with Linus' tree

2016-09-13 Thread Nicholas Piggin
ree.] > > > > On Tue, 13 Sep 2016 09:39:45 +1000 Stephen Rothwell > > wrote: > > > > > > On Mon, 12 Sep 2016 11:03:08 +0200 Michal Marek wrote: > > > > > > > > On 2016-09-12 04:53, Nicholas Piggin wrote: > > > > &g

Re: Build failure in -next due to 'kbuild: allow archs to select link dead code/data elimination'

2016-09-13 Thread Nicholas Piggin
On Tue, 13 Sep 2016 13:25:22 -0700 Guenter Roeck wrote: > On 09/12/2016 08:51 PM, Nicholas Piggin wrote: > > On Mon, 12 Sep 2016 20:17:30 -0700 > > Guenter Roeck wrote: > > > >> Hi Nicholas, > >> > >> On 09/12/2016 07:00 PM, Nicholas Piggin w

Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in /proc/self/smaps)

2016-09-14 Thread Nicholas Piggin
On Wed, 14 Sep 2016 17:39:02 +1000 Dave Chinner wrote: > On Tue, Sep 13, 2016 at 11:53:11AM +1000, Nicholas Piggin wrote: > > On Tue, 13 Sep 2016 07:34:36 +1000 > > Dave Chinner wrote: > > But let me understand your example in the absence of that. > > > > - Ap

Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in /proc/self/smaps)

2016-09-14 Thread Nicholas Piggin
On Thu, 15 Sep 2016 12:31:33 +1000 Dave Chinner wrote: > On Wed, Sep 14, 2016 at 08:19:36PM +1000, Nicholas Piggin wrote: > > On Wed, 14 Sep 2016 17:39:02 +1000 > > Dave Chinner wrote: > > > Ok, looking back over your example, you seem to be suggesting a new >

Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in /proc/self/smaps)

2016-09-15 Thread Nicholas Piggin
On Thu, 15 Sep 2016 20:32:10 +1000 Dave Chinner wrote: > On Thu, Sep 15, 2016 at 01:49:45PM +1000, Nicholas Piggin wrote: > > On Thu, 15 Sep 2016 12:31:33 +1000 > > Dave Chinner wrote: > > > > > On Wed, Sep 14, 2016 at 08:19:36PM +1000, Nicholas Piggin wrote:

Re: powerpc allyesconfig / allmodconfig linux-next next-20160729 - next-20160729 build failures

2016-08-04 Thread Nicholas Piggin
On Thu, 4 Aug 2016 22:31:39 +1000 Nicholas Piggin wrote: > On Thu, 04 Aug 2016 14:09:02 +0200 > Arnd Bergmann wrote: > > Nicolas Pitre has done some related work, adding him to Cc. IIRC we have > > actually had multiple implementations of -ffunction-sections/--gc-sections &g

Re: powerpc allyesconfig / allmodconfig linux-next next-20160729 - next-20160729 build failures

2016-08-05 Thread Nicholas Piggin
On Thu, 4 Aug 2016 12:06:41 -0500 Segher Boessenkool wrote: > On Thu, Aug 04, 2016 at 06:10:57PM +0200, Arnd Bergmann wrote: > > On Thursday, August 4, 2016 9:47:13 PM CEST Nicholas Piggin wrote: > > > > > + __used

Re: powerpc allyesconfig / allmodconfig linux-next next-20160729 - next-20160729 build failures

2016-08-05 Thread Nicholas Piggin
On Fri, 05 Aug 2016 12:17:27 +0200 Arnd Bergmann wrote: > On Friday, August 5, 2016 6:41:08 PM CEST Nicholas Piggin wrote: > > On Thu, 4 Aug 2016 12:06:41 -0500 > > Segher Boessenkool wrote: > > > > > On Thu, Aug 04, 2016 at 06:10:57PM +0200, Arnd Bergman

Re: powerpc allyesconfig / allmodconfig linux-next next-20160729 - next-20160729 build failures

2016-08-05 Thread Nicholas Piggin
On Fri, 05 Aug 2016 18:01:13 +0200 Arnd Bergmann wrote: > On Friday, August 5, 2016 10:26:25 PM CEST Nicholas Piggin wrote: > > On Fri, 05 Aug 2016 12:17:27 +0200 > > Arnd Bergmann wrote: > > > > and I also get link errors for the .text.fixup section > > &

Re: powerpc allyesconfig / allmodconfig linux-next next-20160729 - next-20160729 build failures

2016-08-06 Thread Nicholas Piggin
On Fri, 05 Aug 2016 21:16:00 +0200 Arnd Bergmann wrote: > On Saturday, August 6, 2016 2:16:42 AM CEST Nicholas Piggin wrote: > > > > > > diff --git a/include/asm-generic/vmlinux.lds.h > > > b/include/asm-generic/vmlinux.lds.h > > > index 0ec807d69f18..

Re: linux-next: build warnings after merge of the kbuild tree

2016-08-25 Thread Nicholas Piggin
On Mon, 22 Aug 2016 20:47:58 +1000 Nicholas Piggin wrote: > On Fri, 19 Aug 2016 20:44:55 +1000 > Nicholas Piggin wrote: > > > On Fri, 19 Aug 2016 10:37:00 +0200 > > Michal Marek wrote: > > > > > On 2016-08-19 07:09, Stephen Rothwell wrote: >

Re: [BUG][next-20170619][347de24] PowerPC boot fails with Oops

2017-06-20 Thread Nicholas Piggin
On Tue, 20 Jun 2017 12:49:25 +0530 Abdul Haleem wrote: > Hi, > > commit: 347de24 (powerpc/64s: implement arch-specific hardlockup > watchdog) > > linux-next fails to boot on PowerPC Bare-metal box. > > Test: boot > Machine type: Power 8 Bare-metal > Kernel: 4.12.0-rc5-next-20170619 > gcc: vers

Re: linux-next: build failure after merge of most trees

2017-06-21 Thread Nicholas Piggin
On Thu, 22 Jun 2017 15:24:41 +1000 Stephen Rothwell wrote: > Hi Dave, > > After merging almost all the trees, today's linux-next build (sparc64 > defconfig) failed like this: > > arch/sparc/lib/hweight.o: In function `__arch_hweight8': > (.text+0x0): relocation truncated to fit: R_SPARC_WDISP19

Re: linux-next: build failure after merge of most trees

2017-06-22 Thread Nicholas Piggin
CC'ing Alan On Thu, 22 Jun 2017 15:24:41 +1000 Stephen Rothwell wrote: > Hi Dave, > > After merging almost all the trees, today's linux-next build (sparc64 > defconfig) failed like this: > > arch/sparc/lib/hweight.o: In function `__arch_hweight8': > (.text+0x0): relocation truncated to fit: R_

Re: [PATCH] powerpc/watchdog: Convert timers to use timer_setup()

2017-10-16 Thread Nicholas Piggin
idt > Cc: Paul Mackerras > Cc: Michael Ellerman > Cc: Nicholas Piggin > Cc: linuxppc-...@lists.ozlabs.org > Signed-off-by: Kees Cook Looks fine to me. Is this intended to be merged via the powerpc tree in the next merge window? Acked-by: Nicholas Piggin > --- > arch/powe

Re: [PATCH 4/4] watchdog: provide watchdog_reconfigure() for arch watchdogs

2017-05-25 Thread Nicholas Piggin
On Thu, 25 May 2017 10:08:33 -0400 Don Zickus wrote: > On Thu, May 25, 2017 at 06:28:56PM +1000, Nicholas Piggin wrote: > > After reconfiguring watchdog sysctls etc., architecture specific > > watchdogs may not get all their parameters updated. > > > > watchdog_recon

[PATCH v2] spin loop primitives for busy waiting

2017-05-28 Thread Nicholas Piggin
_cpu_relax which defaults to cpu_relax. This will allow architectures to hook the entry and exit of busy-wait loops, and will allow powerpc to set low SMT priority at entry, and normal priority at exit. Suggested-by: Linus Torvalds Signed-off-by: Nicholas Piggin --- Since last time: - Fixed sp

[PATCH 0/4][V3] Improve watchdog config for arch watchdogs

2017-05-29 Thread Nicholas Piggin
nt to improve things further. Nicholas Piggin (4): watchdog: remove unused declaration watchdog: Introduce arch_touch_nmi_watchdog() watchdog: Split up config options watchdog: Provide watchdog_reconfigure() for arch watchdogs arch/blackfin/include/asm/nmi.h| 2 + arch/blackfin/k

[PATCH 2/4] watchdog: Introduce arch_touch_nmi_watchdog()

2017-05-29 Thread Nicholas Piggin
ut on touching the softlockup watchdog or other generic details. Signed-off-by: Nicholas Piggin --- arch/blackfin/include/asm/nmi.h| 2 ++ arch/blackfin/kernel/nmi.c | 2 +- arch/mn10300/include/asm/nmi.h | 2 ++ arch/mn10300/kernel/mn10300-watchdog-low.S

[PATCH 1/4] watchdog: remove unused declaration

2017-05-29 Thread Nicholas Piggin
Signed-off-by: Nicholas Piggin --- include/linux/nmi.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/linux/nmi.h b/include/linux/nmi.h index aa3cd0878270..5e2e57536d98 100644 --- a/include/linux/nmi.h +++ b/include/linux/nmi.h @@ -12,9 +12,6 @@ extern void

[PATCH 4/4] watchdog: Provide watchdog_reconfigure() for arch watchdogs

2017-05-29 Thread Nicholas Piggin
After reconfiguring watchdog sysctls etc., architecture specific watchdogs may not get all their parameters updated. watchdog_reconfigure() can be implemented to pull the new values in and set the arch NMI watchdog. Signed-off-by: Nicholas Piggin --- kernel/watchdog.c | 29

[PATCH 3/4] watchdog: Split up config options

2017-05-29 Thread Nicholas Piggin
LOCKUP_DETECTOR interfaces. Signed-off-by: Nicholas Piggin --- arch/powerpc/kernel/setup_64.c | 2 +- arch/x86/kernel/apic/hw_nmi.c | 2 +- include/linux/nmi.h| 31 -- kernel/Makefile| 2 +- kernel/sysctl.c| 18 ++-- kernel/watchdog.c

Re: [PATCH 1/6] powernv:idle: Correctly initialize core_idle_state_ptr

2017-05-29 Thread Nicholas Piggin
ve. > > Fix this by correctly initializing the lower bits of the > core_idle_state_ptr on the basis of threads_per_core. > > Signed-off-by: Gautham R. Shenoy This looks good to me. Until this patch series, we can't enable HV state loss idle modes on POWER9, is that correct? And after your series does it work? Reviewed-by: Nicholas Piggin

Re: [PATCH 2/6] powernv:idle: Decouple Timebase restore & Per-core SPRs restore

2017-05-29 Thread Nicholas Piggin
ost, skip to clear_lock. >*/ > +.Ltb_resynced: > blt cr4,clear_lock > > /* It's more that timebase was not lost, rather than resynced. Can we just do a 'bgtl cr3,opal_resync_timebase'? I guess cr4 branch will never be true on POWER9... I think pnv_wakeup_tb_loss is going to end up clearer being split into two between isa 207 and 300. But that can wait until after POWER9 is working properly. Reviewed-by: Nicholas Piggin

Re: [PATCH 3/6] powernv:idle: Restore LPCR on wakeup from deep-stop

2017-05-29 Thread Nicholas Piggin
ting the stop instruction. > > Signed-off-by: Gautham R. Shenoy Yes I think we need this. I have a plan to rework some of that cpu_restore and early CPU init stuff, but for now we need this. Does the OCC restore LPCR properly then we just trash it with ->cpu_restore(), or is i

Re: [PATCH 5/6] powernv:idle: Use Requested Level for restoring state on P9 DD1

2017-05-29 Thread Nicholas Piggin
; wakeup state will not restore the hypervisor resources. > > Hence, on DD1 systems, use the Requested Level (RL) field as a > workaround to restore the contents of the hypervisor resources on the > wakeup from the stop state. > > Signed-off-by: Gautham R. Shenoy Reviewed-by:

Re: [PATCH 6/6] cpuidle-powernv: Allow Deep stop states that don't stop time

2017-05-30 Thread Nicholas Piggin
On Tue, 16 May 2017 14:19:48 +0530 "Gautham R. Shenoy" wrote: > From: "Gautham R. Shenoy" > > The current code in the cpuidle-powernv intialization only allows deep > stop states (indicated by OPAL_PM_STOP_INST_DEEP) which lose timebase > (indicated by OPAL_PM_TIMEBASE_STOP). This assumption go

Re: [PATCH 6/6] cpuidle-powernv: Allow Deep stop states that don't stop time

2017-05-30 Thread Nicholas Piggin
On Tue, 30 May 2017 16:20:55 +0530 Gautham R Shenoy wrote: > On Tue, May 30, 2017 at 05:13:57PM +1000, Nicholas Piggin wrote: > > On Tue, 16 May 2017 14:19:48 +0530 > > "Gautham R. Shenoy" wrote: > > > > > From: "Gautham R. Shenoy" &g

Re: powerpc-linux-gnu-ld: warning: orphan section `.data.rel.ro' from `arch/powerpc/kernel/head_44x.o' being placed in section `.data.rel.ro'.

2017-11-11 Thread Nicholas Piggin
he above patch, it was just hiding it. This should do the trick I think: -- powerpc/32: Add .data.rel* sections explicitly Match powerpc/64 and include .data.rel* input sections in the .data output section explicitly. This should solve the warning: powerpc-linux-gnu-ld: warning: orphan sec

Re: POWER: Unexpected fault when writing to brk-allocated memory

2017-11-11 Thread Nicholas Piggin
On Fri, 10 Nov 2017 12:08:35 + David Laight wrote: > From: Matthew Wilcox > > Sent: 09 November 2017 19:44 > > > > On Fri, Nov 10, 2017 at 04:15:26AM +1100, Nicholas Piggin wrote: > > > So these semantics are what we're going with? Anything that does mm

Re: [RFC PATCH 08/11] asm-generic/tlb: Track freeing of page-table directories in struct mmu_gather

2018-08-26 Thread Nicholas Piggin
On Fri, 24 Aug 2018 16:52:43 +0100 Will Deacon wrote: > From: Peter Zijlstra > > Some architectures require different TLB invalidation instructions > depending on whether it is only the last-level of page table being > changed, or whether there are also changes to the intermediate > (directory)

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-26 Thread Nicholas Piggin
On Fri, 24 Aug 2018 13:39:53 +0200 Peter Zijlstra wrote: > On Fri, Aug 24, 2018 at 01:32:14PM +0200, Peter Zijlstra wrote: > > On Fri, Aug 24, 2018 at 10:47:17AM +0200, Peter Zijlstra wrote: > > > On Thu, Aug 23, 2018 at 02:39:59PM +0100, Will Deacon wrote: > > > > The only problem with this

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-27 Thread Nicholas Piggin
On Mon, 27 Aug 2018 09:47:01 +0200 Peter Zijlstra wrote: > On Mon, Aug 27, 2018 at 03:00:08PM +1000, Nicholas Piggin wrote: > > On Fri, 24 Aug 2018 13:39:53 +0200 > > Peter Zijlstra wrote: > > > On Fri, Aug 24, 2018 at 01:32:14PM +0200, Peter Zijlstra wrote: > &g

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-27 Thread Nicholas Piggin
On Mon, 27 Aug 2018 10:20:45 +0200 Peter Zijlstra wrote: > On Mon, Aug 27, 2018 at 06:09:50PM +1000, Benjamin Herrenschmidt wrote: > > > Sadly our architecture requires a precise match between the page size > > specified in the tlbie instruction and the entry in the TLB or it won't > > be flushe

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-27 Thread Nicholas Piggin
On Mon, 27 Aug 2018 18:09:50 +1000 Benjamin Herrenschmidt wrote: > On Mon, 2018-08-27 at 18:04 +1000, Nicholas Piggin wrote: > > > Yes.. I see that. tlb_remove_check_page_size_change() really is a rather > > > ugly thing, it can cause loads of TLB flushes. Do you really _h

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-27 Thread Nicholas Piggin
On Mon, 27 Aug 2018 09:36:50 -0400 Rik van Riel wrote: > On Mon, 2018-08-27 at 18:04 +1000, Nicholas Piggin wrote: > > > It could do that. It requires a tlbie that matches the page size, > > so it means 3 sizes. I think possibly even that would be better > > than curre

[PATCH 1/3] mm/cow: don't bother write protectig already write-protected huge pages

2018-08-28 Thread Nicholas Piggin
This is the THP equivalent for 1b2de5d039c8 ("mm/cow: don't bother write protecting already write-protected pages"). Explicit hugetlb pages don't get the same treatment because they don't appear to have the right accessor functions. Signed-off-by: Nicholas Piggin -

[PATCH 0/3] mm: dirty/accessed pte optimisations

2018-08-28 Thread Nicholas Piggin
nificant than I expected so it could quite well be a problem with my test (corrections welcome). Any data from other archs would be interesting too. Andrew perhaps if there aren't objections these could go in mm for a while. Thanks, Nick Nicholas Piggin (3): mm/cow: don't bother writ

[PATCH 2/3] mm/cow: optimise pte dirty/accessed bits handling in fork

2018-08-28 Thread Nicholas Piggin
-by: Nicholas Piggin --- mm/huge_memory.c | 2 -- mm/memory.c | 10 +- mm/vmscan.c | 8 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index d9bae12978ef..5fb1a43e12e0 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memor

Re: [RFC PATCH 08/11] asm-generic/tlb: Track freeing of page-table directories in struct mmu_gather

2018-08-28 Thread Nicholas Piggin
On Tue, 28 Aug 2018 15:46:38 +0200 Peter Zijlstra wrote: > On Mon, Aug 27, 2018 at 02:44:57PM +1000, Nicholas Piggin wrote: > > > powerpc may be able to use the unmap granule thing to improve > > its page size dependent flushes, but it might prefer to go > > a different

Re: VirtIO console hangs

2018-08-28 Thread Nicholas Piggin
gt; > commit ec97eaad1383ab2500fcf9a07ade6044fbcc67f5 > Author: Nicholas Piggin > Date: Tue May 1 00:55:54 2018 +1000 > > tty: hvc: hvc_poll() break hv read loop Thanks for the report. I can't immediately see what the problem is. Can you try get a stack trace of where it i

Re: VirtIO console hangs

2018-08-28 Thread Nicholas Piggin
On Tue, 28 Aug 2018 15:00:14 + Matteo Croce wrote: > On Tue, Aug 28, 2018 at 2:35 PM Nicholas Piggin wrote: > > > > On Tue, 28 Aug 2018 12:54:08 + > > Matteo Croce wrote: > > > > > With kernel 4.19.0-rc1 virtio_console hangs very often. > >

Re: [PATCH 2/4] mm/tlb: Remove tlb_remove_table() non-concurrent condition

2018-08-22 Thread Nicholas Piggin
isation further that I'm going to send out again today. It's nice to avoid the double handling of the pages. Thanks, Nick > > If removing this turns out to be a performance issue, we can > re-instate a more complete check, but in tlb_table_flush() eliding the > call_rcu_sche

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-22 Thread Nicholas Piggin
On Wed, 22 Aug 2018 17:55:27 +0200 Peter Zijlstra wrote: > On Wed, Aug 22, 2018 at 05:30:15PM +0200, Peter Zijlstra wrote: > > ARM > > which later used this put an explicit TLB invalidate in their > > __p*_free_tlb() functions, and PowerPC-radix followed that example. > > > +/* > > + * If we w

Re: [PATCH 2/4] mm/tlb: Remove tlb_remove_table() non-concurrent condition

2018-08-22 Thread Nicholas Piggin
On Wed, 22 Aug 2018 20:35:16 -0700 Linus Torvalds wrote: > On Wed, Aug 22, 2018 at 8:31 PM Nicholas Piggin wrote: > > > > > > So that leaves speculative operations. I don't see where the problem is > > with those either -- this shortcut needs to ensure there a

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-22 Thread Nicholas Piggin
On Wed, 22 Aug 2018 20:59:46 -0700 Linus Torvalds wrote: > On Wed, Aug 22, 2018 at 8:45 PM Nicholas Piggin wrote: > > > > powerpc/radix has no such issue, it already does this tracking. > > Yeah, I now realize that this was why you wanted to add that hacky > thing

Re: [PATCH 2/4] mm/tlb: Remove tlb_remove_table() non-concurrent condition

2018-08-22 Thread Nicholas Piggin
On Wed, 22 Aug 2018 21:54:48 -0700 Linus Torvalds wrote: > On Wed, Aug 22, 2018 at 9:16 PM Nicholas Piggin wrote: > > > > On Wed, 22 Aug 2018 20:35:16 -0700 > > Linus Torvalds wrote: > > > > > > And yes, those lazy tlbs are all kernel threads, but they

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-22 Thread Nicholas Piggin
On Wed, 22 Aug 2018 22:03:40 -0700 Linus Torvalds wrote: > On Wed, Aug 22, 2018 at 9:33 PM Nicholas Piggin wrote: > > > > I think it was quite well understood and fixed here, a145abf12c9 but > > again that was before I really started looking at it. > > You don'

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-22 Thread Nicholas Piggin
On Thu, 23 Aug 2018 15:21:30 +1000 Benjamin Herrenschmidt wrote: > On Wed, 2018-08-22 at 22:11 -0700, Linus Torvalds wrote: > > On Wed, Aug 22, 2018 at 9:54 PM Benjamin Herrenschmidt > > wrote: > > > > > > > > > So we do need a different flush instruction for the page tables vs. the > > > n

Re: [PATCH 3/4] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE

2018-08-23 Thread Nicholas Piggin
On Wed, 22 Aug 2018 17:30:15 +0200 Peter Zijlstra wrote: > Jann reported that x86 was missing required TLB invalidates when he > hit the !*batch slow path in tlb_remove_table(). > > This is indeed the case; RCU_TABLE_FREE does not provide TLB (cache) > invalidates, the PowerPC-hash where this co

[RFC PATCH 2/2] mm: mmu_notifier fix for tlb_end_vma

2018-08-23 Thread Nicholas Piggin
s the generic tlb_end_vma. I have not actually tested it. Signed-off-by: Nicholas Piggin --- include/asm-generic/tlb.h | 17 + mm/memory.c | 10 -- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/include/asm-generic/tlb.h b/include/asm-generic/

[RFC PATCH 1/2] mm: move tlb_table_flush to tlb_flush_mmu_free

2018-08-23 Thread Nicholas Piggin
There is no need to call this from tlb_flush_mmu_tlbonly, it logically belongs with tlb_flush_mmu_free. This allows some code consolidation with a subsequent fix. Signed-off-by: Nicholas Piggin --- mm/memory.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/memory.c

[RFC PATCH 0/2] minor mmu_gather patches

2018-08-23 Thread Nicholas Piggin
could be a slightly cleaner end result? Thanks, Nick Nicholas Piggin (2): mm: move tlb_table_flush to tlb_flush_mmu_free mm: mmu_notifier fix for tlb_end_vma include/asm-generic/tlb.h | 17 + mm/memory.c | 14 ++ 2 files changed, 15 inserti

Re: [RFC PATCH 0/2] minor mmu_gather patches

2018-08-23 Thread Nicholas Piggin
On Thu, 23 Aug 2018 12:15:37 -0700 Linus Torvalds wrote: > On Thu, Aug 23, 2018 at 1:47 AM Nicholas Piggin wrote: > > > > These are split from some patches I posted a while back, I was going > > to take a look and revive the series again after your fixes go in, > >

Re: [RFC PATCH 0/2] minor mmu_gather patches

2018-08-23 Thread Nicholas Piggin
On Fri, 24 Aug 2018 00:27:05 +0100 Will Deacon wrote: > Hi Linus, > > On Thu, Aug 23, 2018 at 12:37:58PM -0700, Linus Torvalds wrote: > > On Thu, Aug 23, 2018 at 12:15 PM Linus Torvalds > > wrote: > > > > > > So right now my "tlb-fixes" branch looks like this: > > > [..] > > > > > > I'll do a

Re: [PATCH] powernv:idle: Set NAPSTATELOST after recovering paca on P9 DD1

2017-05-12 Thread Nicholas Piggin
n paca after > recovering the paca on POWER9 DD1. > > Fixes: commit 17ed4c8f81da ("powerpc/powernv: Recover correct PACA on wakeup > from a stop on P9 DD1") > > Signed-off-by: Gautham R. Shenoy This looks obviously correct to me. Reviewed-by: Nicholas Piggin > --

Re: rcu_process_callbacks irqsoff latency caused by taking spinlock with irqs disabled

2018-04-06 Thread Nicholas Piggin
On Thu, 5 Apr 2018 08:53:20 -0700 "Paul E. McKenney" wrote: > On Thu, Apr 05, 2018 at 10:45:12AM +1000, Nicholas Piggin wrote: > > On Wed, 4 Apr 2018 17:13:58 -0700 > > "Paul E. McKenney" wrote: > > > > > On Thu, Apr 05, 2018 at 09:34:14

Re: [PATCH AUTOSEL for 3.18 059/101] x86/um: thin archives build fix

2018-04-08 Thread Nicholas Piggin
On Mon, 9 Apr 2018 00:41:22 + Sasha Levin wrote: > From: Nicholas Piggin > > [ Upstream commit 827880ec260ba048f95fe646b96a205c394fa0f0 ] > > The linker does not like vdso-syms.lds in input archive files. > Make it an extra-y instead. I wouldn't say these shou

Occasionally losing the tick_sched_timer

2018-04-09 Thread Nicholas Piggin
We are seeing rare hard lockup watchdog timeouts, a CPU seems to have no more timers scheduled, despite hard and soft lockup watchdogs should have their heart beat timers and probably many others. The reproducer we have is running a KVM workload. The lockup is in the host kernel, quite rare but we

Re: Occasionally losing the tick_sched_timer

2018-04-10 Thread Nicholas Piggin
On Tue, 10 Apr 2018 09:42:29 +0200 (CEST) Thomas Gleixner wrote: > Nick, > > On Tue, 10 Apr 2018, Nicholas Piggin wrote: > > We are seeing rare hard lockup watchdog timeouts, a CPU seems to have no > > more timers scheduled, despite hard and soft lockup watchdogs should

Re: OK to merge via powerpc? (was Re: [PATCH 05/14] mm: make memblock_alloc_base_nid non-static)

2018-03-13 Thread Nicholas Piggin
On Tue, 13 Mar 2018 12:41:28 -0700 Andrew Morton wrote: > On Tue, 13 Mar 2018 23:06:35 +1100 Michael Ellerman > wrote: > > > Anyone object to us merging the following patch via the powerpc tree? > > > > Full series is here if anyone's interested: > > > > http://patchwork.ozlabs.org/project

Re: mm,tlb: revert 4647706ebeee?

2018-07-07 Thread Nicholas Piggin
On Fri, 06 Jul 2018 13:03:55 -0400 Rik van Riel wrote: > Hello, > > It looks like last summer, there were 2 sets of patches > in flight to fix the issue of simultaneous mprotect/madvise > calls unmapping PTEs, and some pages not being flushed from > the TLB before returning to userspace. > > Mi

Re: [PATCH 0/2] mm/fs: put_user_page() proposal

2018-07-09 Thread Nicholas Piggin
On Mon, 9 Jul 2018 01:05:52 -0700 john.hubb...@gmail.com wrote: > From: John Hubbard > > Hi, > > With respect to tracking get_user_pages*() pages with page->dma_pinned* > fields [1], I spent a few days retrofitting most of the get_user_pages*() > call sites, by adding calls to a new put_user_p

Re: mm,tlb: revert 4647706ebeee?

2018-07-09 Thread Nicholas Piggin
On Mon, 9 Jul 2018 17:13:56 -0700 Andrew Morton wrote: > On Sun, 8 Jul 2018 01:25:38 +1000 Nicholas Piggin wrote: > > > On Fri, 06 Jul 2018 13:03:55 -0400 > > Rik van Riel wrote: > > > > > Hello, > > > > > > It looks like last summer,

Re: [PATCH tip/core/rcu 0/21] Contention reduction for v4.18

2018-05-13 Thread Nicholas Piggin
On Sun, 22 Apr 2018 20:02:58 -0700 "Paul E. McKenney" wrote: > Hello! > > This series reduces lock contention on the root rcu_node structure, > and is also the first precursor to TBD changes to consolidate the > three RCU flavors (RCU-bh, RCU-preempt, and RCU-sched) into one. Hi Paul, I've bee

Re: [PATCH v4 00/31] kconfig: move compiler capability tests to Kconfig

2018-05-17 Thread Nicholas Piggin
On Thu, 17 May 2018 15:16:39 +0900 Masahiro Yamada wrote: > [Introduction] > > The motivation of this work is to move the compiler option tests to > Kconfig from Makefile. A number of kernel features require the > compiler support. Enabling such features blindly in Kconfig ends up > with a lot

Re: [PATCH] powerpc/lib: Remove .balign inside string functions for PPC32

2018-05-17 Thread Nicholas Piggin
On Thu, 17 May 2018 12:04:13 +0200 (CEST) Christophe Leroy wrote: > commit 87a156fb18fe1 ("Align hot loops of some string functions") > degraded the performance of string functions by adding useless > nops > > A simple benchmark on an 8xx calling 10x a memchr() that > matches the first byte

Re: [PATCH v6] powerpc/mm: Only read faulting instruction when necessary in do_page_fault()

2018-05-17 Thread Nicholas Piggin
On Thu, 17 May 2018 12:59:29 +0200 (CEST) Christophe Leroy wrote: > Commit a7a9dcd882a67 ("powerpc: Avoid taking a data miss on every > userspace instruction miss") has shown that limiting the read of > faulting instruction to likely cases improves performance. > > This patch goes further into t

Re: [Skiboot] [PATCH] opal/hmi: Wakeup the cpu before reading core_fir

2018-08-20 Thread Nicholas Piggin
On Mon, 20 Aug 2018 19:36:05 +0530 Vaibhav Jain wrote: > When stop state 5 is enabled, reading the core_fir during an HMI can > result in a xscom read error with xscom_read() returning the > OPAL_XSCOM_PARTIAL_GOOD error code and core_fir value of all FFs. At > present this return error code is n

Re: [RFC PATCH v4 08/17] powerpc/ftrace: Move ftrace stub used for init text before _einittext

2024-07-14 Thread Nicholas Piggin
On Sun Jul 14, 2024 at 6:27 PM AEST, Naveen N Rao wrote: > Move the ftrace stub used to cover inittext before _einittext so that it > is within kernel text, as seen through core_kernel_text(). This is > required for a subsequent change to ftrace. Hmm, is there a reason it was outside einittext any

Re: [RFC PATCH v4 11/17] kbuild: Add generic hook for architectures to use before the final vmlinux link

2024-07-15 Thread Nicholas Piggin
On Sun Jul 14, 2024 at 6:27 PM AEST, Naveen N Rao wrote: > On powerpc, we would like to be able to make a pass on vmlinux.o and > generate a new object file to be linked into vmlinux. Add a generic pass > in Makefile.vmlinux that architectures can use for this purpose. > > Architectures need to sel

Re: [RFC PATCH v4 12/17] powerpc64/ftrace: Move ftrace sequence out of line

2024-07-15 Thread Nicholas Piggin
On Sun Jul 14, 2024 at 6:27 PM AEST, Naveen N Rao wrote: > Function profile sequence on powerpc includes two instructions at the > beginning of each function: > mflrr0 > bl ftrace_caller > > The call to ftrace_caller() gets nop'ed out during kernel boot and is > patched in when

Re: [RFC PATCH v4 13/17] powerpc64/ftrace: Support .text larger than 32MB with out-of-line stubs

2024-07-15 Thread Nicholas Piggin
On Sun Jul 14, 2024 at 6:27 PM AEST, Naveen N Rao wrote: > We are restricted to a .text size of ~32MB when using out-of-line > function profile sequence. Allow this to be extended up to the previous > limit of ~64MB by reserving space in the middle of .text. > > A new config option CONFIG_PPC_FTRAC

Re: [PATCH v7 2/3] powerpc/mm: Only read faulting instruction when necessary in do_page_fault()

2018-05-22 Thread Nicholas Piggin
On Tue, 22 May 2018 16:02:56 +0200 (CEST) Christophe Leroy wrote: > Commit a7a9dcd882a67 ("powerpc: Avoid taking a data miss on every > userspace instruction miss") has shown that limiting the read of > faulting instruction to likely cases improves performance. > > This patch goes further into t

Re: [PATCH v7 2/3] powerpc/mm: Only read faulting instruction when necessary in do_page_fault()

2018-05-22 Thread Nicholas Piggin
On Tue, 22 May 2018 16:50:55 +0200 Christophe LEROY wrote: > Le 22/05/2018 à 16:38, Nicholas Piggin a écrit : > > On Tue, 22 May 2018 16:02:56 +0200 (CEST) > > Christophe Leroy wrote: > > > >> Commit a7a9dcd882a67 ("powerpc: Avoid taking a data miss on ev

Re: [PATCH v8] powerpc/mm: Only read faulting instruction when necessary in do_page_fault()

2018-05-23 Thread Nicholas Piggin
On Wed, 23 May 2018 09:01:19 +0200 (CEST) Christophe Leroy wrote: > Commit a7a9dcd882a67 ("powerpc: Avoid taking a data miss on every > userspace instruction miss") has shown that limiting the read of > faulting instruction to likely cases improves performance. > > This patch goes further into t

Re: [PATCH v8] powerpc/mm: Only read faulting instruction when necessary in do_page_fault()

2018-05-23 Thread Nicholas Piggin
On Wed, 23 May 2018 09:31:33 +0200 Christophe LEROY wrote: > Le 23/05/2018 à 09:17, Nicholas Piggin a écrit : > > On Wed, 23 May 2018 09:01:19 +0200 (CEST) > > Christophe Leroy wrote: > > > >> @@ -264,8 +266,30 @@ static bool bad_stack_expansion(struct pt_r

Re: [PATCH v9] powerpc/mm: Only read faulting instruction when necessary in do_page_fault()

2018-05-23 Thread Nicholas Piggin
0.01% ) > >5.381342641 seconds time elapsed >( +- 0.07% ) > > The proper work of the huge stack expansion was tested with the > following app: > > int main(int argc, char **argv) > { > char buf[1024 * 1025]; > > sprintf(buf, "Hello world !\n"); > printf(buf); > > exit(0); > } > > Signed-off-by: Christophe Leroy Reviewed-by: Nicholas Piggin Thanks, Nick

Re: [RFC REBASED 5/5] powerpc/mm/slice: use the dynamic high slice size to limit bitmap operations

2018-02-27 Thread Nicholas Piggin
On Tue, 27 Feb 2018 18:11:07 +0530 "Aneesh Kumar K.V" wrote: > Nicholas Piggin writes: > > > On Tue, 27 Feb 2018 14:31:07 +0530 > > "Aneesh Kumar K.V" wrote: > > > >> Christophe Leroy writes: > >> > >> > The n

  1   2   3   4   5   6   7   8   9   10   >