corrupted.
Fix this by marking NMIs non-recoverable if they land in HV interrupt
ranges.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/asm-prototypes.h | 8 +++
arch/powerpc/include/asm/nmi.h| 2 +
arch/powerpc/kernel/exceptions-64s.S | 8 +++
arch/powerpc/kernel
it does not seem to follow
the architecture wrt leaving MSR[RI] unchanged for HV interrupts.
Mambo clears MSR[RI], so you have to account for that manually.
Since v1:
- Fixed several build bugs.
Since v2:
- Improved changelog and comments.
- Fixed the NIA test for virt mode interrupts.
Nicholas
HSRRs.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/traps.c | 25 -
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 12b54908c15d..f2191755fdf5 100644
--- a/arch/powerpc/kernel/traps.c
: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 48
1 file changed, 42 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S
b/arch/powerpc/kernel/exceptions-64s.S
index d2e9fc968655..0b8b57597837 100644
--- a/arch/powerpc/kernel
: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 36
1 file changed, 26 insertions(+), 10 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S
b/arch/powerpc/kernel/exceptions-64s.S
index 0b8b57597837..77e9c70f1b49 100644
--- a/arch/powerpc/kernel
:
- Fixed HPT crash due to use of PACA_EXGEN rather than EXSLB in
the SLB interrupt handlers.
Nicholas Piggin (4):
powerpc/64s: Fix HV NMI vs HV interrupt recoverability test
powerpc/64s: system reset interrupt preserve HSRRs
powerpc/64s: Prepare to handle data interrupts vs d-side MCE
corrupted.
Fix this by marking NMIs non-recoverable if they land in HV interrupt
ranges.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/asm-prototypes.h | 8 +++
arch/powerpc/include/asm/nmi.h| 2 +
arch/powerpc/kernel/exceptions-64s.S | 8 +++
arch/powerpc/kernel
HSRRs.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/traps.c | 25 -
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 12b54908c15d..f2191755fdf5 100644
--- a/arch/powerpc/kernel/traps.c
: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 48
1 file changed, 42 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S
b/arch/powerpc/kernel/exceptions-64s.S
index d2e9fc968655..0b8b57597837 100644
--- a/arch/powerpc/kernel
: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 36
1 file changed, 26 insertions(+), 10 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S
b/arch/powerpc/kernel/exceptions-64s.S
index 0b8b57597837..0e6f274788dd 100644
--- a/arch/powerpc/kernel
void link stack corruption. This requires a
skiboot fix as well to keep the call stack balanced.
A NULL call is more costly after this, (410ns->430ns on POWER9), but
OPAL calls are generally not performance critical at this scale.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/as
Hari Bathini's on February 22, 2019 3:35 am:
> Firmware-Assisted Dump (FADump) is currently supported only on pseries
> platform. This patch series adds support for powernv platform too.
>
> The first and third patches refactor the FADump code to make use of common
> code across multiple platforms
, instead use _DAR (thanks mpe)
> - remove isync and pnv_wakeup_noloss section (thanks Nick)
Thanks for that, looks good.
Reviewed-by: Nicholas Piggin
The recent commit got this test wrong, it declared the assembler
symbols the wrong way, and also used the wrong symbol name
(xxx_start rather than start_xxx, see asm/head-64.h).
Fixes: ccd477028a ("powerpc/64s: Fix HV NMI vs HV interrupt recoverability
test")
Signed-off-by: Nicho
Alastair D'Silva's on March 14, 2019 12:31 pm:
> From: Alastair D'Silva
>
> When building an LTO kernel, the existing code generates warnings:
> ./arch/powerpc/include/asm/paca.h:37:30: warning: register of
> ‘local_paca’ used for multiple global register variables
> register str
Alastair D'Silva's on March 27, 2019 2:37 pm:
> On Tue, 2019-03-26 at 15:58 +1000, Nicholas Piggin wrote:
>> Alastair D'Silva's on March 14, 2019 12:31 pm:
>> > From: Alastair D'Silva
>> >
>> > When building an LTO kernel, the existing
Joe Lawrence's on March 27, 2019 3:33 am:
> On Tue, Mar 26, 2019 at 02:29:47PM +0900, Masahiro Yamada wrote:
>> On Tue, Mar 26, 2019 at 1:05 AM Joe Lawrence wrote:
>> >
>> > CC_FLAGS_FTRACE may contain trailing whitespace that interferes with
>> > findstring.
>> >
>> > For example, commit 6977f95e
er.
Fixes: 48e7b76957 ("powerpc/64s/hash: Convert SLB miss handlers to C")
Cc: Aneesh Kumar K.V
Reported-by: Anton Blanchard
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 12
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/kernel
Suraj Jitindar Singh's on March 29, 2019 3:20 pm:
> On Wed, 2019-03-27 at 17:51 +0100, Cédric Le Goater wrote:
>> On 3/27/19 5:37 PM, Cédric Le Goater wrote:
>> > On 3/27/19 1:36 PM, Sebastian Andrzej Siewior wrote:
>> > > With qemu-system-ppc64le -machine pseries -smp 4 I get:
>> > >
>> > > > #
Steven Rostedt's on March 30, 2019 1:31 am:
> [ Added Peter ]
>
> On Fri, 29 Mar 2019 19:13:55 +1000
> Nicholas Piggin wrote:
>
>> Suraj Jitindar Singh's on March 29, 2019 3:20 pm:
>> > On Wed, 2019-03-27 at 17:51 +0100, Cédric Le Goater wrote:
>>
stop, so the root cause is never
detected.
Fix this by using hrtimer based timers for the watchdog heartbeat,
like the generic kernel hardlockup detector.
Reported-by: Ravikumar Bangoria
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/watchdog.c | 34
Gautham R Shenoy's on April 4, 2019 9:19 pm:
> Hello Nicholas,
>
> On Tue, Apr 2, 2019 at 4:57 PM Nicholas Piggin wrote:
>>
>> Using a jiffies timer creates a dependency on the tick_do_timer_cpu
>> incrementing jiffies. If that CPU has locked up and jiffies is n
Christophe Leroy's on April 3, 2019 4:31 am:
>
>
> Le 02/04/2019 à 16:34, Aneesh Kumar K.V a écrit :
>> Currently, our mm_context_t on book3s64 include all hash specific
>> context details like slice mask, subpage protection details. We
>> can skip allocating those on radix. This will help us to
Peter Zijlstra's on April 1, 2019 6:38 pm:
>
> + fweisbec, who did the remote bits
>
> On Sat, Mar 30, 2019 at 01:10:28PM +1000, Nicholas Piggin wrote:
>> Something like this?
>>
>> kernel/irq_work: Do not raise an IPI when queueing work on the local CPU
>
c in the normal idle wakeup
path.
Reviewed-by: Gautham R. Shenoy
Signed-off-by: Nicholas Piggin
Notes:
- The KVM code has been significantly changed and now actually boots a
HPT on radix guest with dependent threads mode and >0 secondaries.
With previous iterations my test wasn't a
This is the KVM update to the new idle code. A few improvements:
- Idle sleepers now always return to caller rather than branch out
to KVM first.
- This allows optimisations like very fast return to caller when no
state has been lost.
- KVM no longer requires nap_state_lost because it controls
er.
Fixes: 48e7b76957 ("powerpc/64s/hash: Convert SLB miss handlers to C")
Cc: Aneesh Kumar K.V
Reported-by: Anton Blanchard
Signed-off-by: Nicholas Piggin
---
- Add a selftests that triggers the crash
arch/powerpc/kernel/exceptions-64s.S | 12 +++
tools/testing/selftests
stop, so the root cause is never
detected.
Fix this by using hrtimer based timers for the watchdog heartbeat,
like the generic kernel hardlockup detector.
Cc: Gautham R. Shenoy
Reported-by: Ravikumar Bangoria
Signed-off-by: Nicholas Piggin
---
v2: Fix per-CPU hrtimer startup noticed by Gautham
Aneesh Kumar K.V's on April 9, 2019 2:03 pm:
> Add radix_enabled check to avoid slb preload with radix translation.
>
> Signed-off-by: Aneesh Kumar K.V
Acked-by: Nicholas Piggin
> ---
>
> Without this we result in kernel crash as we move hash related variable
Frederic Weisbecker's on April 6, 2019 10:06 am:
> On Mon, Apr 01, 2019 at 10:38:27AM +0200, Peter Zijlstra wrote:
>>
>> + fweisbec, who did the remote bits
>>
>> On Sat, Mar 30, 2019 at 01:10:28PM +1000, Nicholas Piggin wrote:
>> > diff --git a/kernel/
Nicholas Piggin (5):
sched/core: allow the remote scheduler tick to be started on CPU0
PM / suspend: add function to disable secondaries for suspend
kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec
freeze
kernel/sched/isolation: require a present CPU in housekeeping mask
This has no effect yet because CPU0 will always be a housekeeping CPU
until a later change.
Signed-off-by: Nicholas Piggin
---
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 4778c48a7fda..10e05ec049b6
This adds a function to disable secondary CPUs for suspend that are
not necessarily non-zero / non-boot CPUs. Platforms will be able to
use this to suspend using non-zero CPUs.
Cc: Rafael J. Wysocki
Signed-off-by: Nicholas Piggin
---
include/linux/cpu.h | 10 ++
kernel
suspend/wake effectively support this by handing off the final
stage to CPU0 when kernel housekeeping is no longer required. Another
option is to make housekeeping / nohz_full mask dynamic at runtime,
but the complexity could not be justified at this time.
Signed-off-by: Nicholas Piggin
---
arch
During housekeeping mask setup, currently a possible CPU is required.
That does not guarantee the CPU would be available at boot time, so
check to ensure that at least one present CPU is in the mask.
Signed-off-by: Nicholas Piggin
---
kernel/sched/isolation.c | 18 +-
1 file
uses CPU0 for
housekeeping could be achieved by modifying their system, but it is
preferable if nohz_full can support their environment without
modification.
Signed-off-by: Nicholas Piggin
---
kernel/time/tick-common.c | 50 +++
kernel/time/tick-sched.c | 34
Michael Ellerman's on April 11, 2019 12:49 am:
> On Fri, 2019-03-29 at 07:42:57 UTC, Nicholas Piggin wrote:
>> Commit 48e7b76957 ("powerpc/64s/hash: Convert SLB miss handlers to C")
>> broke the radix-mode segment exception handler. In radix mode, this is
>> exc
Satheesh Rajendran's on April 8, 2019 5:32 pm:
> Hi,
>
> Hit with below kernel crash during Power8 Host boot with this patch series on
> top
> of powerpc merge branch commit
> https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=merge&id=6a821ffee18a6e6c0027c523fa8c958df98
Reviewed-by: Gautham R. Shenoy
Signed-off-by: Nicholas Piggin
Notes:
- The KVM code has been significantly changed and now actually boots a
HPT on radix guest with dependent threads mode and >0 secondaries.
With previous iterations my test wasn't actually catching this case
and there w
This is the KVM update to the new idle code. A few improvements:
- Idle sleepers now always return to caller rather than branch out
to KVM first.
- This allows optimisations like very fast return to caller when no
state has been lost.
- KVM no longer requires nap_state_lost because it controls
The new mprofile-kernel mcount sequence is
mflr r0
bl_mcount
Dynamic ftrace patches the branch instruction with a noop, but leaves
the mflr. mflr is executed by the branch unit that can only execute one
per cycle on POWER9 and shared with branches, so it would be nice to
avoid it where p
Michael Ellerman's on April 13, 2019 1:39 pm:
> Nicholas Piggin writes:
>> Michael Ellerman's on April 11, 2019 12:49 am:
>>> On Fri, 2019-03-29 at 07:42:57 UTC, Nicholas Piggin wrote:
>>>> Commit 48e7b76957 ("powerpc/64s/hash: Convert SLB miss hand
drop us a note to
> help improve the system]
>
> url:
> https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-64s-reimplement-book3s-idle-code-in-C/20190413-002437
> base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
> config: powerp
Thiago Jung Bauermann's on April 11, 2019 9:08 am:
>
> Hello,
>
> Ping?
>
> --
> Thiago Jung Bauermann
> IBM Linux Technology Center
>
>
> Thiago Jung Bauermann writes:
>
>> When testing DLPAR CPU add/remove on a system under stress,
>> pseries_cpu_die() doesn't wait long enough for a CPU t
Aneesh Kumar K.V's on April 16, 2019 8:07 pm:
> We now have
>
> 4K page size config
>
> kernel_region_map_size = 16TB
> kernel vmalloc start = 0xc0001000
> kernel IO start= 0xc0002000
> kernel vmemmap start = 0xc0003000
>
> with 64K page size config:
>
>
Michael Ellerman's on April 17, 2019 10:34 pm:
> Nicholas Piggin writes:
>> Aneesh Kumar K.V's on April 16, 2019 8:07 pm:
>>> We now have
>>>
>>> 4K page size config
>>>
>>> kernel_region_map_size = 16TB
>&
Thiago Jung Bauermann's on April 18, 2019 11:00 am:
>
> Hello Nick,
>
> Thank you very much for reviewing this patch!
>
> Nicholas Piggin writes:
>
>> Thiago Jung Bauermann's on April 11, 2019 9:08 am:
>>>
>>> Thiago Jung Bauermann write
Jordan Niethe's on February 28, 2020 10:37 am:
> On Thu, Feb 27, 2020 at 6:14 PM Christophe Leroy
> wrote:
>>
>>
>>
>> Le 27/02/2020 à 01:11, Jordan Niethe a écrit :
>> > On Wed, Feb 26, 2020 at 6:10 PM Nicholas Piggin wrote:
>> >>
>
Jordan Niethe's on February 27, 2020 10:58 am:
> On Wed, Feb 26, 2020 at 6:18 PM Nicholas Piggin wrote:
>>
>> Jordan Niethe's on February 26, 2020 2:07 pm:
>> > @@ -136,11 +148,14 @@ int arch_prepare_kprobe(struct kprobe *p)
>
Nicholas Piggin's on February 28, 2020 11:47 am:
> Jordan Niethe's on February 27, 2020 10:58 am:
>> On Wed, Feb 26, 2020 at 6:18 PM Nicholas Piggin wrote:
>> +
>> +#define DEREF_PPC_INST_PTR(ptr)\
>> +({
Jordan Niethe's on February 27, 2020 9:52 am:
> On Wed, Feb 26, 2020 at 5:53 PM Nicholas Piggin wrote:
>>
>> Jordan Niethe's on February 26, 2020 2:07 pm:
>> > If prefixed instructions are made unavailable by the [H]FSCR, attempting
>> > to use them
than the skiboot symbols, e.g.,
the wake-up code in the HOMER (where CPUs have been seen to get stuck).
Signed-off-by: Nicholas Piggin
---
core/opal.c | 2 +
core/utils.c| 92 +++--
doc/opal-api/opal-get-symbol-18
Provide CONFIG_ARCH_HAS_ADDRESS_LOOKUP which allows architectures to
do their own symbol/address lookup if kernel and module lookups miss.
powerpc will use this to deal with firmware symbols.
Signed-off-by: Nicholas Piggin
---
include/linux/kallsyms.h | 20
kernel
] .dummy_console_write_buffer_space+0x20/0x64 [OPAL]
LR [3000378c] opal_entry+0x14c/0x17c [OPAL]
This won't unwind the firmware stack (or its Linux caller) properly if
firmware and kernel endians don't match, but that problem could be solved
in powerpc's unwinder.
Signed-off-by: Nicholas Pi
Jordan Niethe's on February 28, 2020 12:52 pm:
> On Wed, Feb 26, 2020 at 5:50 PM Nicholas Piggin wrote:
>>
>> Jordan Niethe's on February 26, 2020 2:07 pm:
>> > From: Alistair Popple
>> >
>> > Prefix instructions have their own FSCR bit which
Jordan Niethe's on February 28, 2020 1:23 pm:
> On Fri, Feb 28, 2020 at 12:48 PM Nicholas Piggin wrote:
>>
>> Jordan Niethe's on February 27, 2020 10:58 am:
>> > On Wed, Feb 26, 2020 at 6:18 PM Nicholas Piggin wrote:
>> >>
>> >> Jordan
Signed-off-by: Nicholas Piggin
---
arch/powerpc/mm/book3s64/radix_pgtable.c | 1 +
arch/powerpc/mm/book3s64/radix_tlb.c | 7 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c
b/arch/powerpc/mm/book3s64/radix_pgtable.c
index
This allows the 64s hash MMU code to be compiled out if radix is
selected. This saves about 128kB kernel image size (90kB text) on
powernv_defconfig minus KVM, 40kB on a tiny config.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/include
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/vdso32/Makefile | 2 +-
arch/powerpc/kernel/vdso32/vdso32.lds.S | 1 +
arch/powerpc/kernel/vdso64/Makefile | 2 +-
arch/powerpc/kernel/vdso64/vdso64.lds.S | 3 ++-
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch
: Nicholas Piggin
---
arch/powerpc/Kconfig| 19 +++
arch/powerpc/Makefile | 15 ++-
arch/powerpc/boot/Makefile | 4
drivers/crypto/vmx/Makefile | 4
drivers/crypto/vmx/aesp8-ppc.pl | 2 +-
drivers/crypto/vmx/ppc-xlate.pl | 11
Segher Boessenkool's on March 4, 2020 9:09 am:
> Hi!
>
> On Tue, Mar 03, 2020 at 11:45:27AM +1000, Nicholas Piggin wrote:
>> Provide an option to use ELFv2 ABI for big endian builds. This works on
>> GCC and clang (since 2014). it is is not officially supported by the GN
Michael Ellerman's on March 3, 2020 9:43 pm:
> Nicholas Piggin writes:
>> Use ARCH_HAS_ADDRESS_LOOKUP to look up the opal symbol table. This
>> allows crashes and xmon debugging to print firmware symbols.
>>
>> Oops: System Reset, sig: 6 [#1]
>> LE PA
Oliver O'Halloran's on March 6, 2020 12:42 pm:
> On Fri, Feb 28, 2020 at 2:09 PM Nicholas Piggin wrote:
>>
>> These calls can be used by Linux to annotate BUG addresses with symbols,
>> look up symbol addresses in xmon, etc.
>>
>> This is preferable
Here's an incremental fix that can be folded into the patch.
Segher Boessenkool's on February 26, 2020 7:20 am:
> Hi!
>
> On Wed, Feb 26, 2020 at 03:35:35AM +1000, Nicholas Piggin wrote:
>> Kernel addresses and potentially other sensitive data could be leaked
>>
Segher Boessenkool's on March 5, 2020 8:55 pm:
> On Thu, Mar 05, 2020 at 01:34:22PM +1000, Nicholas Piggin wrote:
>> Segher Boessenkool's on March 4, 2020 9:09 am:
>> >> +override flavour := linux-ppc64v2
>> >
>> > That isn't a good name, he
Daniel Axtens's on March 6, 2020 5:30 pm:
> kcov instrumentation is collected the __sanitizer_cov_trace_pc hook in
> kernel/kcov.c. The compiler inserts these hooks into every basic block
> unless kcov is disabled for that file.
>
> We then have a deep call-chain:
> - __sanitizer_cov_trace_pc cal
Daniel Axtens's on March 11, 2020 9:03 am:
So:
- change the test when setting up a PACA to consider the actual value of
the MSR rather than the CPU feature.
- move the PACA setup to before the cpu feature parsing.
>>>
>>> Hmm. Problem is that equally we want PACA to b
Ganesh Goudar's on March 14, 2020 12:04 am:
> MCE handling on pSeries platform fails as recent rework to use common
> code for pSeries and PowerNV in machine check error handling tries to
> access per-cpu variables in realmode. The per-cpu variables may be
> outside the RMO region on pSeries platfo
previous kernels but
it might want to be backported. We can do that after upstreaming.
This doesn't solve Ganesh's machine check RMO problem, but at
least the reconciling should help squash some warnings.
Thanks,
Nick
Nicholas Piggin (7):
powerpc/64: mark emergency stacks valid t
00
6000 7d2000a6 71298000 4c820020 <0fe0> 4e800020 6000 6000
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/process.c | 31 ++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kern
In the interest of reducing code and possible failures in the
machine check and system reset paths, grab the "ibm,nmi-interlock"
token at init time.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/firmware.h| 1 +
arch/powerpc/platforms/pseries/ras.c | 2 +-
ar
A spare interrupt stack slot is needed to save irq state when
reconciling NMIs (sreset and decrementer soft-nmi). _DAR is used
for this, but we want to reconcile machine checks as well, which
do use _DAR. Switch to using RESULT instead, as it's used by
system calls.
Signed-off-by: Nicholas P
] machine_check_early_common+0x134/0x1f0
--- interrupt: 200 at 0x13f1307c8
LR = 0x7fff888b8528
Instruction dump:
6000 7d2000a6 71298000 41820068 3922 7d210164 4b9c 6000
6000 7d2000a6 71298000 4c820020 <0fe0> 4e800020 6000 6000
Signed-off-by: Ni
This was discovered developing qemu fwnmi sreset support. This
off-by-one bug means the last 16 bytes of the rtas area can not
be used for a 16 byte save area.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/platforms/pseries/ras.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions
If there is some error with the fwnmi save area, r3 has already been
modified which doesn't help with debugging.
Only update r3 when to restore the saved value.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/platforms/pseries/ras.c | 7 ---
1 file changed, 4 insertions(+), 3 dele
Signed-off-by: Nicholas Piggin
---
arch/powerpc/platforms/pseries/ras.c | 48
1 file changed, 34 insertions(+), 14 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/ras.c
b/arch/powerpc/platforms/pseries/ras.c
index a40598e6e525..833ae34b7fec 100644
---
Ganesh's on March 16, 2020 9:47 pm:
>
>
> On 3/14/20 9:18 AM, Nicholas Piggin wrote:
>> Ganesh Goudar's on March 14, 2020 12:04 am:
>>> MCE handling on pSeries platform fails as recent rework to use common
>>> code for pSeries and PowerNV in machine c
Accessing thread_info flags can cause an SLB fault, so it must not
be done with MSR[RI]=0, which leads to SLB unrecoverable fault error.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/syscall_64.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch
Michael Ellerman's on March 19, 2020 2:15 pm:
> Nicholas Piggin writes:
>> This allows the 64s hash MMU code to be compiled out if radix is
>> selected. This saves about 128kB kernel image size (90kB text) on
>> powernv_defconfig minus KVM, 40kB on a tiny config
Ganesh's on March 18, 2020 12:35 am:
>
>
> On 3/17/20 3:31 PM, Nicholas Piggin wrote:
>> Ganesh's on March 16, 2020 9:47 pm:
>>>
>>> On 3/14/20 9:18 AM, Nicholas Piggin wrote:
>>>> Ganesh Goudar's on March 14, 2020 12:04 am:
>>
Christophe Leroy's on March 19, 2020 7:18 pm:
>
>
> Le 25/02/2020 à 18:35, Nicholas Piggin a écrit :
>> System call entry and particularly exit code is beyond the limit of what
>> is reasonable to implement in asm.
>>
>> This conversion moves all co
This option increases the number of SLB misses by limiting the number of
kernel SLB entries, and increased flushing of cached lookaside information.
This helps stress test difficult to hit paths in the kernel.
Signed-off-by: Nicholas Piggin
---
.../admin-guide/kernel-parameters.txt
Signed-off-by: Nicholas Piggin
---
arch/powerpc/platforms/pseries/lpar.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/lpar.c
b/arch/powerpc/platforms/pseries/lpar.c
index 3c3da25b445c..e4ed5317f117 100644
--- a/arch/powerpc
This warns and prevents tracing attempted in a real-mode context.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/trace/ftrace.c| 3 +++
.../powerpc/kernel/trace/ftrace_64_mprofile.S | 19 +++
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a
uld not be
rentered.
Create minimal rtas call that should be usable by guest machine check
code, use it there to call "ibm,nmi-interlock".
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/rtas.h | 1 +
arch/powerpc/kernel/entry_64.S | 12 ++--
arch/p
Naveen N. Rao's on March 21, 2020 4:39 am:
> Hi Nick,
>
> Nicholas Piggin wrote:
>> This warns and prevents tracing attempted in a real-mode context.
>
> Is this something you're seeing often? Last time we looked at this, KVM
> was the biggest offender and we
Christophe Leroy's on March 21, 2020 1:33 am:
>
>
> Le 20/03/2020 à 16:24, Nicholas Piggin a écrit :
>> Signed-off-by: Nicholas Piggin
>> ---
>> arch/powerpc/platforms/pseries/lpar.c | 10 +-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>
Haren Myneni's on March 18, 2020 5:27 am:
> On Tue, 2020-03-17 at 16:28 +1100, Michael Ellerman wrote:
>> Haren Myneni writes:
>> > For each fault CRB, update fault address in CRB (fault_storage_addr)
>> > and translation error status in CSB so that user space can touch the
>> > fault address and
Haren Myneni's on March 19, 2020 4:12 pm:
>
> This function allocates IRQ on a specific chip. VAS needs per chip
> IRQ allocation and will have IRQ handler per VAS instance.
Can't see a problem, but don't really know the XIVE code. Cédric seems
like an obvious omission from CC here.
Thanks,
Nic
Haren Myneni's on March 19, 2020 4:13 pm:
>
> Kernel sets fault address and status in CRB for NX page fault on user
> space address after processing page fault. User space gets the signal
> and handles the fault mentioned in CRB by bringing the page in to
> memory and send NX request again.
>
> S
Haren Myneni's on March 19, 2020 4:14 pm:
>
> Alloc IRQ and get trigger port address for each VAS instance. Kernel
> register this IRQ per VAS instance and sets this port for each send
> window. NX interrupts the kernel when it sees page fault.
Again, should cc Cedric and Greg for XIVE / interrup
Haren Myneni's on March 23, 2020 10:57 am:
> On Mon, 2020-03-23 at 10:30 +1000, Nicholas Piggin wrote:
>> Haren Myneni's on March 19, 2020 4:13 pm:
>> >
>> > Kernel sets fault address and status in CRB for NX page fault on user
>> > space address af
Haren Myneni's on March 19, 2020 4:15 pm:
>
> Setup thread IRQ handler per each VAS instance. When NX sees a fault
> on CRB, kernel gets an interrupt and vas_fault_handler will be
> executed to process fault CRBs. Read all valid CRBs from fault FIFO,
> determine the corresponding send window from
Haren Myneni's on March 19, 2020 4:16 pm:
>
> When process opens a window, its pid and tgid will be saved in vas_window
> struct. This window will be closed when the process exits. Kernel handles
> NX faults by updating CSB or send SEGV signal to pid if user space csb_addr
> is invalid.
Bit of a
Haren Myneni's on March 19, 2020 4:17 pm:
>
> For each fault CRB, update fault address in CRB (fault_storage_addr)
> and translation error status in CSB so that user space can touch the
> fault address and resend the request. If the user space passed invalid
> CSB address send signal to process wi
Haren Myneni's on March 19, 2020 4:18 pm:
>
> System checkstops if RxFIFO overruns with more requests than the
> maximum possible number of CRBs allowed in FIFO at any time. So
> max credits value (rxattr.wcreds_max) is set and is passed to
> vas_rx_win_open() by the the driver.
This seems like i
Haren Myneni's on March 19, 2020 4:19 pm:
>
> NX expects OS to return credit for send window after processing each
> fault. Also credit has to be returned even for fault window.
And this should be merged in the fault handler function.
>
> Signed-off-by: Sukadev Bhattiprolu
> Signed-off-by: Har
Naveen N. Rao's on March 23, 2020 2:17 am:
> Nicholas Piggin wrote:
>> Naveen N. Rao's on March 21, 2020 4:39 am:
>>> Hi Nick,
>>>
>>> Nicholas Piggin wrote:
>>>> This warns and prevents tracing attempted in a real-mode context.
>>&
Changes Christophe asked for to help ppc32 implementation, and move a
stray hunk into a later patch.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/asm-prototypes.h | 4 ---
arch/powerpc/include/asm/cputime.h| 38 +--
2 files changed, 21 insertions
This completes the move of the stray hunk. Also fixes an irq tracer
bug, returning to irqs-disabled context should not trace_hardirqs_on().
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/asm-prototypes.h | 2 ++
arch/powerpc/kernel/syscall_64.c | 1 -
2 files changed, 2
1 - 100 of 6266 matches
Mail list logo