If all kernel boot memory regions are not registered for MPIPL before
system crashes, try processing the partial crashdump but warn the user
before proceeding.
Signed-off-by: Hari Bathini
---
arch/powerpc/platforms/powernv/opal-fadump.c | 24
1 file changed, 24
Make OPAL call to indicate that the dump is processed and the metadata
area in OPAL can be cleared/released. Also, setup/initialize FADump
for re-registration.
Signed-off-by: Hari Bathini
---
arch/powerpc/kernel/fadump.c |7 ++-
arch/powerpc/platforms/powernv/opal
With FADump support now available on both pseries and OPAL platforms,
update FADump documentation with these details.
Signed-off-by: Hari Bathini
---
Documentation/powerpc/firmware-assisted-dump.rst | 104 +-
1 file changed, 63 insertions(+), 41 deletions(-)
diff --git a
failure.
Signed-off-by: Hari Bathini
---
arch/powerpc/kernel/fadump-common.h |8
arch/powerpc/kernel/fadump.c|2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/fadump-common.h
b/arch/powerpc/kernel/fadump-common.h
index d2dd117
From: Hari Bathini
Firmware provides architected register state data at the time of crash.
Process this data and build CPU notes to append to ELF core.
Signed-off-by: Hari Bathini
Signed-off-by: Vasant Hegde
---
arch/powerpc/kernel/fadump-common.h |4 +
arch/powerpc/platforms
Make allocate_crash_memory_ranges() and free_crash_memory_ranges()
functions generic to reuse them for memory management of all types of
dynamic memory range arrays. This change helps in memory management
of reserved ranges array to be added later.
Signed-off-by: Hari Bathini
---
arch/powerpc
served ranges is not overlapped with memory released by capture
kernel aftering saving vmcore. Also, fix the off-by-one error in
fadump_release_reserved_area function while releasing memory.
Signed-off-by: Hari Bathini
---
arch/powerpc/kernel/fadump.c | 150 +++---
The size parameter to fadump_reserve_crash_area() function is not needed
as all the memory above boot memory size must be preserved anyway. Update
the function by dropping this redundant parameter.
Signed-off-by: Hari Bathini
---
arch/powerpc/kernel/fadump.c | 53
Kernel config option CONFIG_PRESERVE_FA_DUMP is introduced to ensure
crash data, from previously crash'ed kernel, is preserved. Update
documentation with this details.
Signed-off-by: Hari Bathini
---
Documentation/powerpc/firmware-assisted-dump.rst |9 +
1 file changed, 9 inser
From: Hari Bathini
Export /sys/firmware/opal/core file to analyze opal crashes. Since OPAL
core can be generated independent of CONFIG_FA_DUMP support in kernel,
add this support under a new kernel config option CONFIG_OPAL_CORE.
Also, avoid code duplication by moving common code used while
Move arch_reserved_kernel_pages() function as it is needed for both
FA_DUMP and PRESERVE_FA_DUMP configurations.
Signed-off-by: Hari Bathini
---
arch/powerpc/Kconfig |9 +++
arch/powerpc/include/asm/fadump.h|9 ++-
arch/powerpc/kernel/Makefile |6 ++
Writing '1' to /sys/kernel/fadump_release_opalcore would release the
memory held by kernel in exporting /sys/firmware/opal/core file.
Signed-off-by: Hari Bathini
---
arch/powerpc/platforms/powernv/opal-core.c | 38
1 file changed, 38 insertions(+)
di
memory requirements on systems with 512M/1024M RMA size.
Signed-off-by: Hari Bathini
---
arch/powerpc/kernel/fadump-common.h | 11 +-
arch/powerpc/kernel/fadump.c | 11 +-
arch/powerpc/platforms/powernv/opal-fadump.c | 29 ++
With /sys/firmware/opal/core support available on OPAL based machines
and an option to the release memory used by kernel in exporting this
core file, update FADump documentation with these details.
Signed-off-by: Hari Bathini
---
Documentation/powerpc/firmware-assisted-dump.rst | 19
With support to copy multiple kernel boot memory regions owing to copy
size limitation, also handle holes in the memory area to be preserved.
Support as many as 128 kernel boot memory regions. This allows having
an adequate FADump capture kernel size for different scenarios.
Signed-off-by: Hari
On 10/08/19 11:29 PM, Sourabh Jain wrote:
> Add a sys interface to allow querying the memory reserved by
> fadump for saving the crash dump.
>
> Add an ABI doc entry for new sysfs interface.
>- /sys/kernel/fadump_mem_reserved
>
> Signed-off-by: Sourabh Jain
> ---
> Changelog:
> v1 -> v2:
On 26/08/19 4:14 PM, Sourabh Jain wrote:
>
>
> On 8/26/19 3:46 PM, Sourabh Jain wrote:
>>
>>
>> On 8/26/19 3:29 PM, Hari Bathini wrote:
>>>
>>>
>>> On 10/08/19 11:29 PM, Sourabh Jain wrote:
>>>> Add a sys interface to allow que
On 27/08/19 8:49 AM, Michael Ellerman wrote:
> Hari Bathini writes:
>> On 26/08/19 4:14 PM, Sourabh Jain wrote:
>>> On 8/26/19 3:46 PM, Sourabh Jain wrote:
>>>> On 8/26/19 3:29 PM, Hari Bathini wrote:
>>>>> On 10/08/19 11:29 PM, Sourabh Jain wrote:
During kexec boot, metadata address needs to be reset to avoid running
into errors interpreting stale metadata address, in case the kexec'ed
kernel crashes before metadata address could be setup again.
Signed-off-by: Hari Bathini
---
* Added check in fadump_cleanup() function for whether F
On 20/08/19 5:35 PM, Hari Bathini wrote:
> During kexec boot, metadata address needs to be reset to avoid running
> into errors interpreting stale metadata address, in case the kexec'ed
> kernel crashes before metadata address could be setup again.
>
> Signed-
Hi Michal,
Thanks for the patch.
On 20/08/19 11:42 PM, Michal Suchanek wrote:
> Currently it is not possible to distinguish the case when fadump is
> supported by firmware and disabled in kernel and completely unsupported
> using the kernel sysfs interface. User can investigate the devicetree
On 28/08/19 10:37 PM, Michal Suchánek wrote:
> On Tue, 27 Aug 2019 17:57:31 +0530
> Hari Bathini wrote:
>
[...]
>> Also, get rid of the error message when fadump is
>> not supported as it is already taken care of in fadump_reserve_mem()
>> function.
>
>
age already logged during
early boot in fadump_reserve_mem() function. I am not strongly against
this though. So...
Acked-by: Hari Bathini
On 03/09/19 4:39 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> Make way for refactoring platform specific FADump code by moving code
>> that could be referenced from multiple places to fadump-common.c file.
>>
>> Signed-off-by: Hari Bathini
>> ---
On 03/09/19 4:39 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> Though asm/fadump.h is meant to be used by other components dealing
>> with FADump, it also has macros/definitions internal to FADump code.
>> Move them to a new header file used within FADump code. T
On 03/09/19 4:40 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> Introduce callback functions for platform specific operations like
>> register, unregister, invalidate & such. Also, define place-holders
>> for the same on pSeries platform.
>
> We al
On 03/09/19 4:40 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>
>> Except for reserve dump area which is permanent reserved, all memory
> permanently
>
>> above boot memory size is released when the dump is invalidated.
On 03/09/19 4:40 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> diff --git a/arch/powerpc/include/asm/opal-api.h
>> b/arch/powerpc/include/asm/opal-api.h
>> index 383242e..c8a5665 100644
>> --- a/arch/powerpc/include/asm/opal-api.h
>> +++ b/ar
On 03/09/19 4:40 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> Add basic callback functions for FADump on PowerNV platform.
>
> I assume this doesn't actually work yet?
>
> Does something block it from appearing to work at runtime?
With this patch, "
On 03/09/19 4:40 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> Make RTAS calls to register and un-register for FADump. Also, update
>> how fadump_region contents are diplayed to provide more information.
>
> That sounds like two independent changes, so can t
On 03/09/19 10:01 PM, Hari Bathini wrote:
>
[...]
>>> diff --git a/arch/powerpc/kernel/fadump-common.h
>>> b/arch/powerpc/kernel/fadump-common.h
>>> index d2c5b16..f6c52d3 100644
>>> --- a/arch/powerpc/kernel/fadump-common.h
>>> +++ b/arch/powe
On 04/09/19 2:32 PM, Mahesh Jagannath Salgaonkar wrote:
> On 9/3/19 9:35 PM, Hari Bathini wrote:
>>
>>
>> On 03/09/19 4:39 PM, Michael Ellerman wrote:
>>> Hari Bathini writes:
>>>> Make way for refactoring platform specific FADump code by moving code
&
On 04/09/19 5:00 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> Firmware uses 32-bit field for region size while copying/backing-up
>
> Which firmware exactly is imposing that limit?
I think the MDST/MDRT tables in the f/w. Vasant, which co
On 04/09/19 5:12 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> diff --git a/arch/powerpc/platforms/powernv/opal-fadump.c
>> b/arch/powerpc/platforms/powernv/opal-fadump.c
>> index a755705..10f6086 100644
>> --- a/arch/powerpc/platforms/powernv/opal-fad
On 05/09/19 12:53 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> diff --git a/arch/powerpc/platforms/powernv/opal-fadump.c
>> b/arch/powerpc/platforms/powernv/opal-fadump.c
>> index e466f7e..91fb909 100644
>> --- a/arch/powerpc/platforms/powernv/opal-fad
On 03/09/19 9:36 PM, Hari Bathini wrote:
>
>
> On 03/09/19 4:40 PM, Michael Ellerman wrote:
>> Hari Bathini writes:
>>> Introduce callback functions for platform specific operations like
>>> register, unregister, invalidate & such. Also, define plac
On 04/09/19 5:50 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>
[...]
>> +/*
>> + * CPU state data is provided by f/w. Below are the definitions
>> + * provided in HDAT spec. Refer to latest HDAT specification for
>> + * any update to this format.
>>
On 09/09/19 9:03 PM, Oliver O'Halloran wrote:
> On Mon, Sep 9, 2019 at 11:23 PM Hari Bathini wrote:
>>
>> On 04/09/19 5:50 PM, Michael Ellerman wrote:
>>> Hari Bathini writes:
>>>
>>
>> [...]
>>
>>>> +/*
>>>> +
On 10/09/19 7:35 PM, Michael Ellerman wrote:
> Hari Bathini writes:
>> On 09/09/19 9:03 PM, Oliver O'Halloran wrote:
>>> On Mon, Sep 9, 2019 at 11:23 PM Hari Bathini wrote:
>>>> On 04/09/19 5:50 PM, Michael Ellerman wrote:
>>>>> Hari Bathini
patches based on discussions with mahesh on V4.
---
Hari Bathini (36):
powerpc/fadump: move internal macros/definitions to a new header
powerpc/fadump: add helper functions
powerpc/fadump: declare helper functions in internal header file
powerpc/fadump: Improve fadump
Though asm/fadump.h is meant to be used by other components dealing
with FADump, it also has macros/definitions internal to FADump code.
Move them to a new header file used within FADump code. This also
makes way for refactoring platform specific FADump code.
Signed-off-by: Hari Bathini
tual address is used often.
Signed-off-by: Hari Bathini
---
* New patch to add a few helper functions. Also, save vaddr for CPU notes
buffer in fw_dump structure.
arch/powerpc/include/asm/fadump-internal.h |2
arch/powerpc/kernel/fadump.c | 127 +++
Declare helper functions, that can be reused by multiple platforms,
in the internal header file.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Declare helper functions in internal header while keeping the definitions
in arch/powerpc/kernel/fadump.c itself.
arch/powerpc/include/asm
The figures depicting FADump's (Firmware-Assisted Dump) memory layout
are missing some finer details like different memory regions and what
they represent. Improve the documentation by updating those details.
Signed-off-by: Hari Bathini
---
* No changes in v6.
Documentation/powerpc/fir
Use helper functions to simplify memory allocation, pinning down and
freeing the memory used for CPU notes buffer.
Signed-off-by: Hari Bathini
---
* New patch to improve CPU notes buffer allocation.
arch/powerpc/kernel/fadump.c | 21 ++---
1 file changed, 6 insertions
Currently, FADump is only supported on pSeries but that is going to
change soon with FADump support being added on PowerNV platform. So,
move rtas specific definitions to platform code to allow FADump
to have multiple platforms support.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Use
Introduce callback functions for platform specific operations like
register, unregister, invalidate & such. Also, define place-holders
for the same on pSeries platform.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Drop using unnecessary return type for platform specific DT scan func
Move platform specific register/un-register code, the RTAS calls, to
register/un-register callback functions. This would also mean moving
code that initializes and prints the platform specific FADump data.
Signed-off-by: Hari Bathini
Reviewed-by: Mahesh Salgaonkar
---
Changes in v6:
* Split
Improve how fadump_region contents are displayed by adding source
information of memory regions that are to be dumped by f/w.
Signed-off-by: Hari Bathini
---
* New patch to update how fadump region contents are displayed.
arch/powerpc/platforms/pseries/rtas-fadump.c |8
1 file
released when the dump is invalidated. Make
this a bit more explicit in the code.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Changelog update.
arch/powerpc/kernel/fadump.c | 34 ++
1 file changed, 10 insertions(+), 24 deletions(-)
diff --git a/arch
Move code that supports processing the crash'ed kernel's memory
preserved by firmware to platform specific callback functions.
Signed-off-by: Hari Bathini
---
* No major changes in v6.
arch/powerpc/kernel/fadump.c | 329 +-
arch/powerpc
fadump is pronounced f-a-dump. Update documentation accordingly. Also,
update how fadump_region contents look like with recent changes.
Signed-off-by: Hari Bathini
---
* No changes in v6.
Documentation/powerpc/firmware-assisted-dump.rst | 55 --
1 file changed, 30
eatures in adding FADump support for PowerNV platform.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Changelog update.
* Make sure asm/opal-api.h stays consistent with skiboot's opal-api.h
arch/powerpc/include/asm/opal-api.h| 44 +++-
arch/powerpc/inc
Some code clean-up like using minimal assignments and updating printk
messages. Also, add an 'error_out' label for handling error cleanup
at one place.
Signed-off-by: Hari Bathini
---
* New patch for code clean-up.
arch/powerpc/kernel/fadum
Add basic callback functions for FADump on PowerNV platform.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Drop using unnecessary return type for platform specific DT scan function.
arch/powerpc/Kconfig |5 +
arch/powerpc/include/asm/fadump-internal.h
OPAL allows registering address with it in the first kernel and
retrieving it after MPIPL. Setup kernel metadata and register its
address with OPAL to use it for processing the crash dump.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Use kernel types instead of ulong and such
* Drop
During kexec boot, metadata address needs to be reset to avoid running
into errors interpreting stale metadata address, in case the kexec'ed
kernel crashes before metadata address could be setup again.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Drop shallow rtas_fadump_cl
Make OPAL calls to register and un-register with firmware for MPIPL.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Fix compiler warnings.
arch/powerpc/platforms/powernv/opal-fadump.c | 79 +-
1 file changed, 77 insertions(+), 2 deletions(-)
diff --git a/arch
avoid running into out of memory errors.
So, request firmware to copy multiple kernel boot memory regions
instead of just one (which worked fine for pseries as 64-bit field
was used for size there).
Signed-off-by: Hari Bathini
---
* No major changes in v6.
arch/powerpc/platforms/powernv/opal
Add support in the kernel to process the crash'ed kernel's memory
preserved during MPIPL and export it as /proc/vmcore file for the
userland scripts to filter and analyze it later.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Drop the TODO that is anyway removed later in this pa
If all kernel boot memory regions are not registered for MPIPL before
system crashes, try processing the partial crashdump but warn the user
before proceeding.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Use prints suggested by mpe.
arch/powerpc/platforms/powernv/opal-fadump.c | 24
Make OPAL call to indicate that the dump is processed and the metadata
area in OPAL can be cleared/released. Also, setup/initialize FADump
for re-registration.
Signed-off-by: Hari Bathini
---
* No major changes in v6.
arch/powerpc/kernel/fadump.c |8 +++-
arch/powerpc
With FADump support now available on both pseries and OPAL platforms,
update FADump documentation with these details.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Specific the firmware release versions that support MPIPL.
Documentation/powerpc/firmware-assisted-dump.rst | 122
use it to find the memory to be reserved for FADump.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Avoid hacky code and use memblock_find_in_range with bottom up
allocation mode supported now.
arch/powerpc/kernel/fadump.c | 26 --
1 file changed, 12 inserti
From: Hari Bathini
Firmware provides architected register state data at the time of crash.
Process this data and build CPU notes to append to ELF core. In case
this data is missing or in unsupported format, at least append crashing
CPU's register data, to have something to work with i
Make allocate_crash_memory_ranges() and free_crash_memory_ranges()
functions generic to reuse them for memory management of all types of
dynamic memory range arrays. This change helps in memory management
of reserved ranges array to be added later.
Signed-off-by: Hari Bathini
---
Changes in v6
served ranges is not overlapped with memory released by capture
kernel aftering saving vmcore. Also, fix the off-by-one error in
fadump_release_reserved_area function while releasing memory.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Use kernel types where possible.
arch/powerpc/ke
The size parameter to fadump_reserve_crash_area() function is not needed
as all the memory above boot memory size must be preserved anyway. Update
the function by dropping this redundant parameter.
Signed-off-by: Hari Bathini
---
* No major changes in v6.
arch/powerpc/kernel/fadump.c | 53
Move arch_reserved_kernel_pages() function as it is needed for both
FA_DUMP and PRESERVE_FA_DUMP configurations.
Signed-off-by: Hari Bathini
---
Changes in v6:
* Make mpipl-boot node processing code unindented & use kernel types
where possible.
arch/powerpc/Kconfig |9 +++
arc
Kernel config option CONFIG_PRESERVE_FA_DUMP is introduced to ensure
crash data, from previously crash'ed kernel, is preserved. Update
documentation with this details.
Signed-off-by: Hari Bathini
---
* No changes in v6.
Documentation/powerpc/firmware-assisted-dump.rst |9 +++
From: Hari Bathini
Export /sys/firmware/opal/core file to analyze opal crashes. Since OPAL
core can be generated independent of CONFIG_FA_DUMP support in kernel,
add this support under a new kernel config option CONFIG_OPAL_CORE.
Also, avoid code duplication by moving common code used while
Writing '1' to /sys/kernel/fadump_release_opalcore would release the
memory held by kernel in exporting /sys/firmware/opal/core file.
Signed-off-by: Hari Bathini
---
* No changes in v6.
arch/powerpc/platforms/powernv/opal-core.c | 38
1 file c
memory requirements on systems with 512M/1024M RMA size.
Signed-off-by: Hari Bathini
---
* No major changes in v6.
arch/powerpc/include/asm/fadump-internal.h | 11 +-
arch/powerpc/kernel/fadump.c | 16 ++
arch/powerpc/platforms/powern
With /sys/firmware/opal/core support available on OPAL based machines
and an option to the release memory used by kernel in exporting this
core file, update FADump documentation with these details.
Signed-off-by: Hari Bathini
---
* No changes in v6.
Documentation/powerpc/firmware-assisted
RMA_START is defined as '0' and there is even a BUILD_BUG_ON() to
make sure it is never anything else. Remove this macro and use '0'
instead as code change is needed anyway when it has to be something
else. Also, remove unused RMA_END macro.
Signed-off-by: Hari Bathini
---
*
With support to copy multiple kernel boot memory regions owing to copy
size limitation, also handle holes in the memory area to be preserved.
Support as many as 128 kernel boot memory regions. This allows having
an adequate FADump capture kernel size for different scenarios.
Signed-off-by: Hari
FADump is supported on PowerNV platform. To fulfill this support, the
petitboot kernel must be FADump aware. Enable config PRESERVE_FA_DUMP
to make the petitboot kernel FADump aware.
Signed-off-by: Hari Bathini
---
arch/powerpc/configs/skiroot_defconfig |1 +
1 file changed, 1 insertion
arch/powerpc/kernel/fadump.c file needs to be compiled in if 'config
FA_DUMP' or 'config PRESERVE_FA_DUMP' is set. The current syntax
achieves that but looks a bit odd. Fix it for better readability.
Signed-off-by: Hari Bathini
---
arch/powerpc/kernel/Makefile |5 ++--
, clears the pte and flushes the tlb only once per
page range of instructions to be patched. This adds a slight overhead
to patch_instruction() call while improving the patching time for
scenarios where more than one instruction needs to be patched.
Signed-off-by: Hari Bathini
---
arch/powerpc
.160s
#
With this patch (on a POWER9 lpar):
# time modprobe test_bpf
real0m5.013s
user0m0.000s
sys 0m4.216s
#
Signed-off-by: Hari Bathini
---
arch/powerpc/net/bpf_jit_comp.c | 34 ++---
1 file changed, 6 insertions(+), 28 deletions(-)
diff --git a
://docs.kernel.org/powerpc/firmware-assisted-dump.html
Suggested-by: Michael Ellerman
Signed-off-by: Hari Bathini
---
Changes in v3:
* Decoupled is_vmcore_usable() & vmcore_unusable() from is_kdump_kernel()
as suggested here:
https://lore.kernel.org/linuxppc-dev/ZP7si3UMVpPfYV+w@MiWiFi-R3L-s
not desirable for fadump - eg. IO queues restriction in
device drivers. So, define is_kdump_kernel() to return false when f/w
assisted dump is active.
Signed-off-by: Hari Bathini
---
arch/powerpc/include/asm/kexec.h | 8 ++--
arch/powerpc/kernel/crash_dump.c | 12
2 files
On 11/09/23 4:01 pm, Baoquan He wrote:
On 09/11/23 at 05:13pm, Michael Ellerman wrote:
Hari Bathini writes:
Currently, is_kdump_kernel() returns true when elfcorehdr_addr is set.
While elfcorehdr_addr is set for kexec based kernel dump mechanism,
alternate dump capturing methods like
On 14/09/23 11:48 am, Christophe Leroy wrote:
Hi,
Hi Christophe,
Le 29/09/2021 à 13:18, Hari Bathini a écrit :
With KUAP enabled, any kernel code which wants to access userspace
needs to be surrounded by disable-enable KUAP. But that is not
happening for BPF_PROBE_MEM load instruction
On 14/09/23 6:52 pm, Michael Ellerman wrote:
Aditya Gupta writes:
Presently, while reading a vmcore, makedumpfile uses
`cur_cpu_spec.mmu_features` to decide whether the crashed system had
RADIX MMU or not.
Currently, makedumpfile fails to get the `cur_cpu_spec` symbol (unless
a vmlinux is p
Ping!
Comments, please..
On 08/09/23 6:57 pm, Hari Bathini wrote:
Most BPF programs are small, but they consume a page each. For systems
with busy traffic and many BPF programs, this may also add significant
pressure on instruction TLB. High iTLB pressure usually slows down the
whole system
prove code readability.
Hari Bathini (5):
powerpc/code-patching: introduce patch_instructions()
powerpc/bpf: implement bpf_arch_text_copy
powerpc/bpf: implement bpf_arch_text_invalidate for bpf_prog_pack
powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data
powerpc/bpf: use bpf_
, clears the pte and flushes the tlb only once per
page range of instructions to be patched. This adds a slight overhead
to patch_instruction() call while improving the patching time for
scenarios where more than one instruction needs to be patched.
Signed-off-by: Hari Bathini
---
arch/powerpc
bpf_arch_text_copy is used to dump JITed binary to RX page, allowing
multiple BPF programs to share the same page. Use the newly introduced
patch_instructions() to implement it.
Signed-off-by: Hari Bathini
---
arch/powerpc/net/bpf_jit_comp.c | 20 +++-
1 file changed, 19
Implement bpf_arch_text_invalidate and use it to fill unused part of
the bpf_prog_pack with trap instructions when a BPF program is freed.
Signed-off-by: Hari Bathini
---
arch/powerpc/net/bpf_jit_comp.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/arch/powerpc/net
powerpc64_jit_data is a misnomer as it is meant for both ppc32 and
ppc64. Rename it to powerpc_jit_data.
Signed-off-by: Hari Bathini
---
arch/powerpc/net/bpf_jit_comp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/net/bpf_jit_comp.c b/arch/powerpc/net
t got bpf_jit_binary_pack_finalize() yet. Implement custom
bpf_jit_free() like in commit 1d5f82d9dd47 ("bpf, x86: fix freeing of
not-finalized bpf_prog_pack") to call bpf_jit_binary_pack_finalize(),
if necessary. As bpf_flush_icache() is not needed anymore, remove it.
Signed-off-by: Hari Bat
On 26/09/23 12:21 pm, Christophe Leroy wrote:
Le 26/09/2023 à 00:50, Song Liu a écrit :
On Fri, Sep 8, 2023 at 6:28 AM Hari Bathini wrote:
patch_instruction() entails setting up pte, patching the instruction,
clearing the pte and flushing the tlb. If multiple instructions need
to be
Hi Christophe,
On 29/09/23 2:09 pm, Christophe Leroy wrote:
Le 28/09/2023 à 21:48, Hari Bathini a écrit :
patch_instruction() entails setting up pte, patching the instruction,
clearing the pte and flushing the tlb. If multiple instructions need
to be patched, every instruction would have to
Thanks for the review, Song.
On 29/09/23 2:38 am, Song Liu wrote:
On Thu, Sep 28, 2023 at 12:48 PM Hari Bathini wrote:
patch_instruction() entails setting up pte, patching the instruction,
clearing the pte and flushing the tlb. If multiple instructions need
to be patched, every instruction
On 09/10/23 5:00 pm, Pingfan Liu wrote:
If the boot_cpuid is smaller than nr_cpus, it requires extra effort to
ensure the boot_cpu is in cpu_present_mask. This can be achieved by
reserving the last quota for the boot cpu.
Note: the restriction on nr_cpus will be lifted with more effort in the
On 09/10/23 5:00 pm, Pingfan Liu wrote:
*** Idea ***
For kexec -p, the boot cpu can be not the cpu0, this causes the problem
of allocating memory for paca_ptrs[]. However, in theory, there is no
requirement to assign cpu's logical id as its present sequence in the
device tree. But there is som
On 11/10/23 8:35 am, Pingfan Liu wrote:
On Tue, Oct 10, 2023 at 01:56:13PM +0530, Hari Bathini wrote:
On 09/10/23 5:00 pm, Pingfan Liu wrote:
If the boot_cpuid is smaller than nr_cpus, it requires extra effort to
ensure the boot_cpu is in cpu_present_mask. This can be achieved by
ns() to help with patching bpf programs.
Hari Bathini (5):
powerpc/code-patching: introduce patch_instructions()
powerpc/bpf: implement bpf_arch_text_copy
powerpc/bpf: implement bpf_arch_text_invalidate for bpf_prog_pack
powerpc/bpf: rename powerpc64_jit_data to powerpc_j
, clears the pte and flushes the tlb only once per
page range of instructions to be patched. This duplicates most of the
code patching logic, instead of merging with it, to avoid performance
degradation observed for single instruction patching on ppc32 with
the code path merged.
Signed-off-by: Hari
201 - 300 of 819 matches
Mail list logo