On Wed, Oct 04, 2017 at 04:27:04PM -0700, Kees Cook wrote:
> Drop the arguments from the macro and adjust all callers with the
> following script:
>
> perl -pi -e 's/DEFINE_TIMER\((.*), 0, 0\);/DEFINE_TIMER($1);/g;' \
> $(git grep DEFINE_TIMER | cut -d: -f1 | sort -u | grep -v timer.h)
>
>
Each POWER9 core is made of two super slices. Each super slice can
only have one thread at a time in TM suspend mode. The super slice
restricts ever entering a state where both threads are in suspend by
aborting transactions on tsuspend or exceptions into the kernel.
Unfortunately for context
On Wed, 4 Oct 2017 14:37:53 -0700
"Paul E. McKenney" wrote:
> From: Mathieu Desnoyers
>
> Provide a new command allowing processes to register their intent to use
> the private expedited command.
>
> This allows PowerPC to skip the
On Wed, 2017-10-04 at 09:15:04 UTC, =?utf-8?q?C=C3=A9dric_Le_Goater?= wrote:
> When resetting an IPI, hw_ipi should also be set to zero.
>
> Signed-off-by: Cédric Le Goater
Series applied to powerpc fixes, thanks.
https://git.kernel.org/powerpc/c/74f1282114acc7d67e25745efe200f
On Sun, 2017-10-01 at 14:33:03 UTC, Christian Lamparter wrote:
> The mmu context on the 40x, 44x does not define pte_frag
> entry. This causes gcc abort the compilation due to:
>
> setup-common.c: In function âsetup_archâ:
> setup-common.c:908: error: âmm_context_tâ has no âpte_fragâ
On Wed, 2017-09-27 at 04:55:51 UTC, Jeremy Kerr wrote:
> Commit 41d0c2ecde introduced calls to __flush_tlb_power[89] from the
> cpufeatures code, specifying the number of sets to flush.
>
> However, these functions take an action argument, not a number of sets.
> This means we hit the BUG() in
On Sun, 2017-09-24 at 17:30:43 UTC, Guenter Roeck wrote:
> flush_tlb_kernel_range() may call smp_call_function_many() which expects
> interrupts to be enabled. This results in a traceback.
>
> WARNING: CPU: 0 PID: 1 at kernel/smp.c:416 smp_call_function_many+0xcc/0x2fc
> CPU: 0 PID: 1 Comm:
On Wed, 2017-10-04 at 04:23:24 UTC, Joel Stanley wrote:
> This configuration is used by the OpenPower firmware for it's
> Linux-as-bootloader implementation. Also known as the Petitboot kernel,
> this configuration broke in 4.12 (CPU_HOTPLUG=n), so add it to the
> upstream tree in order to get
On Fri, 2017-09-29 at 05:44:08 UTC, Sandipan Das wrote:
> This adds definitions for the OV32 and CA32 bits of XER that
> were introduced in POWER ISA v3.0. There are some existing
> instructions that currently set the OV and CA bits based on
> certain conditions.
>
> The emulation behaviour of
On Fri, 2017-09-29 at 03:29:37 UTC, Nicholas Piggin wrote:
> The SMP watchdog will detect locked CPUs and IPI them to print a
> backtrace and registers. If panic on hard lockup is enabled, do
> not panic from this handler, because that can cause recursion into
> the IPI layer during the panic.
>
On Wed, 2017-09-27 at 05:45:58 UTC, Nicholas Piggin wrote:
> This code is used at boot and machine checks, so it should be using
> early_radix_enabled() (which is usable any time).
>
> Signed-off-by: Nicholas Piggin
Applied to powerpc next, thanks.
On Fri, 2017-09-22 at 11:34:58 UTC, Allen Pais wrote:
> Use setup_timer function instead of initializing timer with the
>function and data fields.
>
> Signed-off-by: Allen Pais
Series applied to powerpc next, thanks.
On Mon, 2017-09-04 at 08:48:25 UTC, Vaibhav Jain wrote:
> Make sure to set the valid-bit in software-state field of the
> populated PE. This was earlier missing for dedicated mode AFUs, hence
> was causing a PSL freeze when the AFU was activated.
>
> Signed-off-by: Vaibhav Jain
On Sun, 2017-09-03 at 18:15:12 UTC, Frederic Barrat wrote:
> With the optimizations introduced by commit a46cc7a90fd8
> ("powerpc/mm/radix: Improve TLB/PWC flushes"), flush_tlb_mm() no
> longer flushes the page walk cache with radix. This patch introduces
> flush_all_mm(), which flushes
When available, CONFIG_KERNEL_RWX should be default-enabled.
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Michael Ellerman
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Kees Cook
---
David Gibson writes:
> On Tue, Oct 03, 2017 at 08:24:07AM +0200, Cédric Le Goater wrote:
>> On 10/03/2017 05:36 AM, David Gibson wrote:
>> > On Mon, Oct 02, 2017 at 06:27:20PM +0200, Cédric Le Goater wrote:
>> >> On 09/23/2017 10:26 AM, Cédric Le Goater wrote:
>> >>>
Hi,
On Wed, Oct 04, 2017 at 04:26:59PM -0700, Kees Cook wrote:
> This refactors the only users of init_timer_deferrable() to use
> the new timer_setup() and from_timer(). Removes definition of
> init_timer_deferrable().
[...]
> drivers/hsi/clients/ssi_protocol.c | 32
>
From: Kees Cook
Date: Wed, 4 Oct 2017 16:26:58 -0700
> This refactors the only users of init_timer_pinned() to use
> the new timer_setup() and from_timer(). Drops the definition of
> init_timer_pinned().
>
> Cc: Chris Metcalf
> Cc: Thomas Gleixner
From: Kees Cook
Date: Wed, 4 Oct 2017 16:26:59 -0700
> This refactors the only users of init_timer_deferrable() to use
> the new timer_setup() and from_timer(). Removes definition of
> init_timer_deferrable().
>
> Cc: Benjamin Herrenschmidt
>
From: Kees Cook
Date: Wed, 4 Oct 2017 16:27:04 -0700
> Drop the arguments from the macro and adjust all callers with the
> following script:
>
> perl -pi -e 's/DEFINE_TIMER\((.*), 0, 0\);/DEFINE_TIMER($1);/g;' \
> $(git grep DEFINE_TIMER | cut -d: -f1 | sort -u |
On 10/04/2017 04:27 PM, Kees Cook wrote:
Drop the arguments from the macro and adjust all callers with the
following script:
perl -pi -e 's/DEFINE_TIMER\((.*), 0, 0\);/DEFINE_TIMER($1);/g;' \
$(git grep DEFINE_TIMER | cut -d: -f1 | sort -u | grep -v timer.h)
Signed-off-by: Kees Cook
On 10/04/2017 04:27 PM, Kees Cook wrote:
The expire and data arguments of DEFINE_TIMER are only used in two places
and are ignored by the code (malta-display.c only uses mod_timer(),
never add_timer(), so the preset expires value is ignored). Set both
sets of arguments to zero.
Cc: Ralf Baechle
It turns out that not all paths calling arch_update_cpu_topology hold
cpu_hotplug_lock, but that's ok because those paths aren't supposed to race
with any concurrent hotplug events.
Callers of arch_update_cpu_topology are expected to know what they are
doing when they call the function without
In preparation for unconditionally passing the struct timer_list pointer
to all timer callbacks, switch kthread to use from_timer() and pass the
timer pointer explicitly.
Cc: Andrew Morton
Cc: Petr Mladek
Cc: Tejun Heo
Cc: Thomas
In preparation for unconditionally passing the struct timer_list pointer
to all timer callbacks, switch workqueue to use from_timer() and pass the
timer pointer explicitly.
Cc: Tejun Heo
Cc: Lai Jiangshan
Signed-off-by: Kees Cook
The expires field is normally initialized during the first mod_timer()
call. It was unused by all callers, so remove it from the macro.
Signed-off-by: Kees Cook
---
include/linux/kthread.h | 2 +-
include/linux/timer.h | 5 ++---
include/linux/workqueue.h | 2 +-
3
The expire and data arguments of DEFINE_TIMER are only used in two places
and are ignored by the code (malta-display.c only uses mod_timer(),
never add_timer(), so the preset expires value is ignored). Set both
sets of arguments to zero.
Cc: Ralf Baechle
Cc: Wim Van Sebroeck
Drop the arguments from the macro and adjust all callers with the
following script:
perl -pi -e 's/DEFINE_TIMER\((.*), 0, 0\);/DEFINE_TIMER($1);/g;' \
$(git grep DEFINE_TIMER | cut -d: -f1 | sort -u | grep -v timer.h)
Signed-off-by: Kees Cook
Acked-by: Geert
Drops the last user of TIMER_INITIALIZER and adapts timer.h to use the
internal version.
Cc: Arnd Bergmann
Cc: Greg Kroah-Hartman
Cc: Mark Gross
Cc: Thomas Gleixner
Signed-off-by: Kees Cook
This removes uses of TIMER_DEFERRED_INITIALIZER and chooses a location
to call timer_setup() from before add_timer() or mod_timer() is called.
Adjusts callbacks to use from_timer() as needed.
Cc: Martin Schwidefsky
Cc: Heiko Carstens
Cc: Tejun
This removes the now unused TIMER_*INITIALIZER macros:
TIMER_INITIALIZER
TIMER_PINNED_INITIALIZER
TIMER_DEFERRED_INITIALIZER
TIMER_PINNED_DEFERRED_INITIALIZER
Signed-off-by: Kees Cook
---
include/linux/timer.h | 12
1 file changed, 12 deletions(-)
diff
This refactors the only users of init_timer_deferrable() to use
the new timer_setup() and from_timer(). Removes definition of
init_timer_deferrable().
Cc: Benjamin Herrenschmidt
Cc: Michael Ellerman
Cc: Sebastian Reichel
Cc:
Hi,
This is the first of many timer infrastructure cleanups to simplify the
timer API[1]. All of these patches are expected to land via the timer
tree, so Acks (or corrections) appreciated.
These patches refactor various users of timer API that are NOT just using
init_timer() or setup_timer()
Remove uses of init_timer_on_stack() with open-coded function and data
assignments that could be expressed using timer_setup_on_stack(). Several
were removed from the stack entirely since there was a one-to-one mapping
of parent structure to timer, those are switched to using timer_setup()
This refactors the only users of init_timer_pinned() to use
the new timer_setup() and from_timer(). Drops the definition of
init_timer_pinned().
Cc: Chris Metcalf
Cc: Thomas Gleixner
Cc: net...@vger.kernel.org
Signed-off-by: Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new from_timer() helper and passing
the timer pointer explicitly. Since this special timer is on the stack, it
needs to have a wrapper structure to carry state once .data is
This refactors the only user of init_timer_pinned_deferrable() to use the
new timer_setup() and from_timer(). Adds a pointer back to the policy,
and drops the definition of init_timer_pinned_deferrable().
Cc: "Rafael J. Wysocki"
Cc: Viresh Kumar
Cc:
From: Mathieu Desnoyers
Provide a new command allowing processes to register their intent to use
the private expedited command.
This allows PowerPC to skip the full memory barrier in switch_mm(), and
only issue the barrier when scheduling into a task belonging to
Hi,
I've stumbled in a LMB hot unplug problem when running a guest with
4.13+ kernel using QEMU 2.10. When trying to hot unplug a recently
hotplugged LMB this is what I got, using an upstream kernel:
---
QEMU cmd line: sudo ./qemu-system-ppc64 -name migrate_qemu -boot
strict=on
Hi Dan,
On Wed, Oct 4, 2017 at 2:50 PM, Dan Carpenter wrote:
> This bug predates git but it looks like it might be simple to fix if the
> right person looked at the code.
>
> drivers/video/fbdev/controlfb.c:560 control_setup()
> error: buffer overflow
deferred_init_memmap() is called when struct pages are initialized later
in boot by slave CPUs. This patch simplifies and optimizes this function,
and also fixes a couple issues (described below).
The main change is that now we are iterating through free memblock areas
instead of all configured
On 10/03/2017 08:58 AM, David Gibson wrote:
> On Tue, Oct 03, 2017 at 08:24:07AM +0200, Cédric Le Goater wrote:
>> On 10/03/2017 05:36 AM, David Gibson wrote:
>>> On Mon, Oct 02, 2017 at 06:27:20PM +0200, Cédric Le Goater wrote:
On 09/23/2017 10:26 AM, Cédric Le Goater wrote:
> Hi,
>
With commit 425595a7fc20 ("livepatch: reuse module loader code to
write relocations") livepatch uses module loader to write relocations
of livepatch symbols, instead of managing them by arch-dependent
klp_write_module_reloc() function.
livepatch module managed relocation entries are written to
On 10/04/2017 10:04 AM, Michal Hocko wrote:
On Wed 04-10-17 09:28:55, Pasha Tatashin wrote:
I am not really familiar with the trim_low_memory_range code path. I am
not even sure we have to care about it because nobody should be walking
pfns outside of any zone.
According to commit
On Wed 04-10-17 09:28:55, Pasha Tatashin wrote:
>
> > I am not really familiar with the trim_low_memory_range code path. I am
> > not even sure we have to care about it because nobody should be walking
> > pfns outside of any zone.
>
> According to commit comments first 4K belongs to BIOS, so I
I am not really familiar with the trim_low_memory_range code path. I am
not even sure we have to care about it because nobody should be walking
pfns outside of any zone.
According to commit comments first 4K belongs to BIOS, so I think the
memory exists but BIOS may or may not report it to
On Wed 04-10-17 08:40:11, Pasha Tatashin wrote:
> > > > Could you be more specific where is such a memory reserved?
> > > >
> > >
> > > I know of one example: trim_low_memory_range() unconditionally reserves
> > > from
> > > pfn 0, but e820__memblock_setup() might provide the exiting memory
Could you be more specific where is such a memory reserved?
I know of one example: trim_low_memory_range() unconditionally reserves from
pfn 0, but e820__memblock_setup() might provide the exiting memory from pfn
1 (i.e. KVM).
Then just initialize struct pages for that mapping rigth there
Rob Herring writes:
> On Tue, Oct 3, 2017 at 4:26 AM, Michael Ellerman wrote:
...
>>
>> The obvious fix is just to allocate it separately as before, eg ~=:
>
> Yes, I'll go back to doing 2 allocs like v1, but using kstrdup as was
> also pointed out.
Yeah
On 10/04/2017 04:45 AM, Michal Hocko wrote:
On Tue 03-10-17 11:22:35, Pasha Tatashin wrote:
On 10/03/2017 09:08 AM, Michal Hocko wrote:
On Wed 20-09-17 16:17:08, Pavel Tatashin wrote:
Add struct page zeroing as a part of initialization of other fields in
__init_single_page().
This single
On Sat 2017-09-30 11:53:19, Sergey Senozhatsky wrote:
> We deprecated '%pF/%pf' printk specifiers, since '%pS/%ps' is now smart
> enough to handle function pointer dereference on platforms where such
> dereference is required.
>
> checkpatch warning example:
>
> WARNING: Deprecated vsprintf
On Sat 2017-09-30 11:53:18, Sergey Senozhatsky wrote:
> Call appropriate function descriptor dereference ARCH callbacks:
> - dereference_kernel_function_descriptor() if the pointer is a
> kernel symbol;
>
> - dereference_module_function_descriptor() if the pointer is a
> module symbol.
>
>
Michal Suchánek writes:
> On Mon, 13 Feb 2017 19:49:16 -0600
> Segher Boessenkool wrote:
>
>> On Tue, Feb 14, 2017 at 11:25:43AM +1100, Cyril Bur wrote:
>> > > > At the time of writing GCC 5.4 is the most recent and is
>> > > > affected. GCC 6.3
Balbir Singh writes:
> We were aggressive with splitting regions and missed the case
> when _stext and __init_begin completely overlap addr and addr+mapping.
>
> This patch fixes that case and allows us to keep the largest possible
> mapping through the overlap. The patch
Petr Mladek writes:
> On Sat 2017-09-30 11:53:16, Sergey Senozhatsky wrote:
>> diff --git a/arch/powerpc/kernel/module_64.c
>> b/arch/powerpc/kernel/module_64.c
>> index 0b0f89685b67..94caec045a90 100644
>> --- a/arch/powerpc/kernel/module_64.c
>> +++
On Sat 2017-09-30 11:53:17, Sergey Senozhatsky wrote:
> We are moving towards separate kernel and module function descriptor
> dereference callbacks. This patch enables it for parisc64.
>
> For pointers that belong to the kernel
> - Added __start_opd and __end_opd pointers, to track the kernel
>
Commit eac1e731b59e ("powerpc/xive: guest exploitation of the XIVE
interrupt controller") introduced support for the XIVE exploitation
mode of the P9 interrupt controller on the pseries platform.
At that time, support for CPU removal was not complete on PowerVM and
CPU hot unplug remained
When resetting an IPI, hw_ipi should also be set to zero.
Signed-off-by: Cédric Le Goater
---
arch/powerpc/sysdev/xive/spapr.c | 4
1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/sysdev/xive/spapr.c b/arch/powerpc/sysdev/xive/spapr.c
index
Hi,
Recent commit eac1e731b59e ("powerpc/xive: guest exploitation of the
XIVE interrupt controller") introduced support for the XIVE
exploitation mode of the P9 interrupt controller on the pseries
platform.
At the time the patchset was sent, support for CPU removal was not
complete on PowerVM
On Sat 2017-09-30 11:53:16, Sergey Senozhatsky wrote:
> We are moving towards separate kernel and module function descriptor
> dereference callbacks. This patch enables it for powerpc64.
>
> For pointers that belong to the kernel
> - Added __start_opd and __end_opd pointers, to track the kernel
On Wed, Oct 04, 2017 at 08:59:24AM +, David Laight wrote:
> Are you sure about this one?
Yes. And if you are not you haven't read either of the cover letter,
the DMA-API documentation, or the reply from Thomas to your mail
yesterday.
On Sat 2017-09-30 11:53:15, Sergey Senozhatsky wrote:
> We are moving towards separate kernel and module function descriptor
> dereference callbacks. This patch enables it for IA64.
>
> For pointers that belong to the kernel
> - Added __start_opd and __end_opd pointers, to track the kernel
>
Hi Balbir,
Mainly I think we need to add a check in mark_initmem_nx() too don't we?
Or should we put it somewhere common to both?
But seeing as I'm replying here are some more comments.
> Subject: [PATCH 1/2] powerpc/strict_rwx: quirks for STRICT_RWX patches
This misses three key things, 1)
On Sat 2017-09-30 11:53:14, Sergey Senozhatsky wrote:
> There are two format specifiers to print out a pointer in symbolic
> format: '%pS/%ps' and '%pF/%pf'. On most architectures, the two
> mean exactly the same thing, but some architectures (ia64, ppc64,
> parisc64) use an indirect pointer for C
From: Christoph Hellwig
> Sent: 03 October 2017 11:43
>
> ia64 does not implement DMA_ATTR_NON_CONSISTENT allocations, so it doesn't
> make any sense to do any work in dma_cache_sync given that it must be a
> no-op when dma_alloc_attrs returns coherent memory.
>
> Signed-off-by: Christoph Hellwig
On Tue 03-10-17 11:29:16, Pasha Tatashin wrote:
> On 10/03/2017 09:18 AM, Michal Hocko wrote:
> > On Wed 20-09-17 16:17:10, Pavel Tatashin wrote:
> > > Some memory is reserved but unavailable: not present in memblock.memory
> > > (because not backed by physical pages), but present in
On Tue 03-10-17 12:01:08, Pasha Tatashin wrote:
> Hi Michal,
>
> Are you OK, if I replace DEFERRED_FREE() macro with a function like this:
>
> /*
> * Helper for deferred_init_range, free the given range, and reset the
> * counters
> */
> static inline unsigned long __def_free(unsigned long
On Tue 03-10-17 11:22:35, Pasha Tatashin wrote:
>
>
> On 10/03/2017 09:08 AM, Michal Hocko wrote:
> > On Wed 20-09-17 16:17:08, Pavel Tatashin wrote:
> > > Add struct page zeroing as a part of initialization of other fields in
> > > __init_single_page().
> > >
> > > This single thread
On Tue 03-10-17 16:26:51, Pasha Tatashin wrote:
> Hi Michal,
>
> I decided not to merge these two patches, because in addition to sparc
> optimization move, we have this dependancies:
optimizations can and should go on top of the core patch.
> mm: zero reserved and unavailable struct pages
>
>
Le 03/10/2017 à 13:43, Christoph Hellwig a écrit :
On Tue, Oct 03, 2017 at 01:24:57PM +0200, Christophe LEROY wrote:
powerpc does not implement DMA_ATTR_NON_CONSISTENT allocations, so it
doesn't make any sense to do any work in dma_cache_sync given that it
must be a no-op when dma_alloc_attrs
On Sat 2017-09-30 11:53:13, Sergey Senozhatsky wrote:
> Convert dereference_function_descriptor() to accept and return
> `unsigned long'. There will be two new ARCH function for kernel
> and module function pointer dereference, which will work with
> `unsigned long', so the patch unifies
On Tuesday 03 October 2017 03:00 PM, Naveen N . Rao wrote:
Hi Naveen,
[snip]
>
> A few small nits focusing on just the trampoline...
>
>> diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
>> b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
>> index c98e90b..708a96d 100644
>> ---
On 25/09/2017 18:27, Alexei Starovoitov wrote:
> On Mon, Sep 18, 2017 at 12:15 AM, Laurent Dufour
> wrote:
>> Despite the unprovable lockdep warning raised by Sergey, I didn't get any
>> feedback on this series.
>>
>> Is there a chance to get it moved upstream ?
>
>
Nest/core pmu units are enabled only when it is used. A reference count is
maintained for the events which uses the nest/core pmu units. Currently in
*_imc_counters_release function a WARN() is used for notification of any
underflow of ref count.
74 matches
Mail list logo