Christophe Leroy wrote:
Le 20/05/2021 à 12:54, Naveen N. Rao a écrit :
Christophe Leroy wrote:
Le 20/05/2021 à 09:29, Naveen N. Rao a écrit :
diff --git a/arch/powerpc/kernel/optprobes.c
b/arch/powerpc/kernel/optprobes.c
index cdf87086fa33a0..2bc53fa48a1b33 100644
--- a/arch/powerpc/kerne
On Thu, 20 May 2021, Arnd Bergmann wrote:
> On Thu, May 20, 2021 at 2:13 PM Lee Jones wrote:
> >
> > This set is part of a larger effort attempting to clean-up W=1
> > kernel builds, which are currently overwhelmingly riddled with
> > niggly little warnings.
> >
> > Lee Jones (16):
> > char: pc
On Fri, May 21, 2021 at 08:22:36AM +0100, Lee Jones wrote:
> On Thu, 20 May 2021, Arnd Bergmann wrote:
>
> > On Thu, May 20, 2021 at 2:13 PM Lee Jones wrote:
> > >
> > > This set is part of a larger effort attempting to clean-up W=1
> > > kernel builds, which are currently overwhelmingly riddled
On Fri, May 21, 2021 at 09:42:29AM +0200, Greg Kroah-Hartman wrote:
> On Fri, May 21, 2021 at 08:22:36AM +0100, Lee Jones wrote:
> > On Thu, 20 May 2021, Arnd Bergmann wrote:
> >
> > > On Thu, May 20, 2021 at 2:13 PM Lee Jones wrote:
> > > >
> > > > This set is part of a larger effort attempting
On Fri, 21 May 2021, Greg Kroah-Hartman wrote:
> On Fri, May 21, 2021 at 09:42:29AM +0200, Greg Kroah-Hartman wrote:
> > On Fri, May 21, 2021 at 08:22:36AM +0100, Lee Jones wrote:
> > > On Thu, 20 May 2021, Arnd Bergmann wrote:
> > >
> > > > On Thu, May 20, 2021 at 2:13 PM Lee Jones wrote:
> > >
On Fri, May 21, 2021 at 08:08:02AM +0530, Srikar Dronamraju wrote:
> * Peter Zijlstra [2021-05-20 20:56:31]:
>
> > On Thu, May 20, 2021 at 09:14:25PM +0530, Srikar Dronamraju wrote:
> > > Currently scheduler populates the distance map by looking at distance
> > > of each node from all other nodes
On Fri, May 21, 2021 at 7:52 AM Christoph Hellwig wrote:
> Convert the nfblock driver to use the blk_alloc_disk and blk_cleanup_disk
> helpers to simplify gendisk and request_queue allocation.
>
> Signed-off-by: Christoph Hellwig
Acked-by: Geert Uytterhoeven
Gr{oetje,eeting}s,
On Thu, May 20, 2021 at 08:21:39AM -0700, Joe Perches wrote:
> On Thu, 2021-05-20 at 10:21 +0200, Johan Hovold wrote:
> > On Tue, May 18, 2021 at 12:01:22PM +0800, Xiaofei Tan wrote:
> > > On 2021/5/17 22:15, Johan Hovold wrote:
> > > > How is this an improvement? First, the multi-line comment sty
Virtual Accelerator Switchboard (VAS) allows kernel subsystems
and user space processes to directly access the Nest Accelerator
(NX) engines which provides HW compression. The true user mode
VAS/NX support on PowerNV is already included in Linux. Whereas
PowerVM support is available from P10 onwa
Using the same /dev/crypto/nx-gzip interface for both powerNV and
pseries. So this patch creates platforms/book3s/ and moves VAS API
to that directory. The actual functionality is not changed.
Signed-off-by: Haren Myneni
---
arch/powerpc/include/asm/vas.h| 3 +++
arch/powe
* Peter Zijlstra [2021-05-21 10:14:10]:
> On Fri, May 21, 2021 at 08:08:02AM +0530, Srikar Dronamraju wrote:
> > * Peter Zijlstra [2021-05-20 20:56:31]:
> >
> > > On Thu, May 20, 2021 at 09:14:25PM +0530, Srikar Dronamraju wrote:
> > > > Currently scheduler populates the distance map by looking
PowerNV uses registers to open/close VAS windows, and getting the
paste address. Whereas the hypervisor calls are used on PowerVM.
This patch adds the platform specific user space window operations
and register with the common VAS user space interface.
Signed-off-by: Haren Myneni
---
arch/pow
powerNV and pseries drivers register / unregister to the corresponding
platform specific VAS separately. Then these VAS functions call the
common API with the specific window operations. So rename powerNV VAS
API register/unregister functions.
Signed-off-by: Haren Myneni
Reviewed-by: Nicholas P
Take pid and mm references when each window opens and drops during
close. This functionality is needed for powerNV and pseries. So
this patch defines the existing code as functions in common book3s
platform vas-api.c
Signed-off-by: Haren Myneni
---
arch/powerpc/include/asm/vas.h |
If a coprocessor encounters an error translating an address, the
VAS will cause an interrupt in the host. The kernel processes
the fault by updating CSB. This functionality is same for both
powerNV and pseries. So this patch moves these functions to
common vas-api.c and the actual functionality i
Same vas_window struct is used on powerNV and pseries. So this patch
changes in struct vas_window to support both platforms and also the
corresponding modifications in powerNV vas code.
On powerNV, vas_window is used for both TX and RX windows, whereas
only for TX windows on powerVM. So some ele
This patch adds HCALLs and other definitions. Also define structs
that are used in VAS implementation on powerVM.
Signed-off-by: Haren Myneni
---
arch/powerpc/include/asm/hvcall.h| 7 ++
arch/powerpc/include/asm/vas.h | 32
arch/powerpc/platforms/pseries/vas.h | 110 +
PowerVM introduces two different type of credits: Default and Quality
of service (QoS).
The total number of default credits available on each LPAR depends
on CPU resources configured. But these credits can be shared or
over-committed across LPARs in shared mode which can result in
paste command
This patch adds the following HCALL wrapper functions to allocate,
modify and deallocate VAS windows, and retrieve VAS capabilities.
H_ALLOCATE_VAS_WINDOW: Allocate VAS window
H_DEALLOCATE_VAS_WINDOW: Close VAS window
H_MODIFY_VAS_WINDOW: Setup window before using
H_QUERY_VAS_CAPABILITIES: Get V
The hypervisor provides VAS capabilities for GZIP default and QoS
features. These capabilities gives information for the specific
features such as total number of credits available in LPAR,
maximum credits allowed per window, maximum credits allowed in
LPAR, whether usermode copy/paste is support
This patch adds VAS window allocatioa/close with the corresponding
HCALLs. Also changes to integrate with the existing user space VAS
API and provide register/unregister functions to NX pseries driver.
The driver register function is used to create the user space
interface (/dev/crypto/nx-gzip)
NX generates an interrupt when sees a fault on the user space
buffer and the hypervisor forwards that interrupt to OS. Then
the kernel handles the interrupt by issuing H_GET_NX_FAULT hcall
to retrieve the fault CRB information.
This patch also adds changes to setup and free IRQ per each
window a
Rename nx-842-pseries.c to nx-common-pseries.c to add code for new
GZIP compression type. The actual functionality is not changed in
this patch.
Signed-off-by: Haren Myneni
Acked-by: Herbert Xu
---
drivers/crypto/nx/Makefile | 2 +-
drivers/crypto/nx/{nx-842-p
Changes to create /dev/crypto/nx-gzip interface with VAS register
and to remove this interface with VAS unregister.
Signed-off-by: Haren Myneni
Acked-by: Herbert Xu
---
drivers/crypto/nx/Kconfig | 1 +
drivers/crypto/nx/nx-common-pseries.c | 9 +
2 files changed, 10 insert
The hypervisor provides different capabilities that it supports
to define the user space NX request. These capabilities are
recommended minimum compression / decompression lengths and the
maximum request buffer size in bytes.
Changes to get NX overall capabilities which points to the
specific fe
Changes to export the following NXGZIP capabilities through sysfs:
/sys/devices/vio/ibm,compression-v1/NxGzCaps:
min_compress_len /*Recommended minimum compress length in bytes*/
min_decompress_len /*Recommended minimum decompress length in bytes*/
req_max_processed_len /* Maximum number of byt
Persistent memory devices like NVDIMMs can loose cached writes in case
something prevents flush on power-fail. Such situations are termed as
dirty shutdown and are exposed to applications as
last-shutdown-state (LSS) flag and a dirty-shutdown-counter(DSC) as
described at [1]. The latter being usefu
This series attempts to improve the speed of interrupts and system calls
in three major ways.
Firstly, the SRR/HSRR registers do not need to be reloaded if they were
clobbered for the duration of the interrupt and the return NIP and MSR
did not changed. 64e does not implement this part, but it cou
The msr argument is not used, remove it.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/asm-prototypes.h | 4 ++--
arch/powerpc/kernel/interrupt.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/include/asm/asm-prototypes.h
b/arch/pow
This makes no real difference yet except that HSRR type interrupts will
use hrfid to return. This is important for the next patch.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/entry_64.S | 65 +---
arch/powerpc/kernel/exceptions-64e.S | 4 ++
arch/powerpc/ker
When an interrupt is taken, the SRR registers are set to return to where
it left off. Unless they are modified in the meantime, or the return
address or MSR are modified, there is no need to reload these registers
when returning from interrupt.
Introduce per-CPU flags that track the validity of SR
Similarly to the system call change in the previous patch, the mtmsrd to
enable RI can be combined with the mtmsrd to enable EE for interrupts
which enable the latter, which tends to be the important synchronous
interrupts (i.e., page faults).
Do this by enabling EE and RI together at the beginnin
The next patch would like to move interrupt return assembly code to a low
location before general text, so move it into its own file and include via
head_64.S
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/head-64.h | 2 +-
arch/powerpc/kernel/entry_64.S | 623
This extends the MSR[RI]=0 window a little further into the system
call in order to pair RI and EE enabling with a single mtmsrd.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 2 --
arch/powerpc/kernel/interrupt_64.S | 4 ++--
2 files changed, 2 insertions(+), 4 del
This frees up one more register (and takes advantage of that to
clean things up a little bit).
This register will be used in the following patch.
Signed-off-by: Nicholas Piggin
---
arch/powerpc/kernel/exceptions-64s.S | 34
1 file changed, 20 insertions(+), 14 delet
The exception table fixup adjusts a failed page fault's interrupt return
location if it was taken at an address specified in the exception table,
to a corresponding fixup handler address.
Introduce a variation of that idea which adds a fixup table for NMIs and
soft-masked asynchronous interrupts.
Treat code below __end_soft_masked as soft-masked for the purpose
of alternate return. 64s already mostly does this for scv entry.
This will be used to exit from interrupts without disabling MSR[EE].
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/interrupt.h | 8 ++--
arch/pow
Prevent interrupt restore from allowing racing hard interrupts going
ahead of previous soft-pending ones, by using the soft-masked restart
handler to allow a store to clear the soft-mask while knowing nothing
is soft-pending.
This probably doesn't matter much in practice, but it's a simple
demonst
Use the restart table facility to return from interrupt or system calls
without disabling MSR[EE] or MSR[RI].
Interrupt return asm is put into the low soft-masked region, to prevent
interrupts being processed here, although they are still taken as masked
interrupts which causes SRRs to be clobbere
On Thu, 20 May 2021 21:19:30 +1000, Nicholas Piggin wrote:
> The sc and scv 0 system calls have different ABI conventions, and
> ptracers need to know which system call type is being used if it wants
> to look at the syscall registers.
>
> Document that pt_regs.trap can be used for this, and fix o
On Thu, 20 May 2021 13:29:19 +1000, Alexey Kardashevskiy wrote:
> The immediate problem is that after
> 0bd3f9e953bd ("powerpc/legacy_serial: Use early_ioremap()")
> the kernel silently reboots. The reason is that early_ioremap() returns
> broken addresses as it uses slot_virt[] array which initial
On Fri, May 14, 2021 at 04:44:22PM -0500, Nathan Lynch wrote:
> hvterm_raw_put_chars() calls hvc_put_chars(), which may return -EAGAIN
> when the underlying hcall returns a "busy" status, but udbg_hvc_putc()
> doesn't handle this. When using xmon on a PowerVM guest, this can
> result in incomplete
On 5/21/21 11:43 AM, Linus Torvalds wrote:
On Thu, May 20, 2021 at 5:03 PM Aneesh Kumar K.V
wrote:
On 5/21/21 8:10 AM, Linus Torvalds wrote:
So mremap does need to flush the TLB before releasing the page table
lock, because that's the lifetime boundary for the page that got
moved.
How will
"Aneesh Kumar K.V" writes:
> On 5/21/21 11:43 AM, Linus Torvalds wrote:
>> On Thu, May 20, 2021 at 5:03 PM Aneesh Kumar K.V
>> wrote:
>>>
>>> On 5/21/21 8:10 AM, Linus Torvalds wrote:
So mremap does need to flush the TLB before releasing the page table
lock, because that's the lif
* Aneesh Kumar K.V [210521 08:51]:
> On 5/21/21 11:43 AM, Linus Torvalds wrote:
> > On Thu, May 20, 2021 at 5:03 PM Aneesh Kumar K.V
> > wrote:
> > >
> > > On 5/21/21 8:10 AM, Linus Torvalds wrote:
> > > >
> > > > So mremap does need to flush the TLB before releasing the page table
> > > > lock
On 5/21/21 8:54 PM, Liam Howlett wrote:
* Aneesh Kumar K.V [210521 08:51]:
On 5/21/21 11:43 AM, Linus Torvalds wrote:
On Thu, May 20, 2021 at 5:03 PM Aneesh Kumar K.V
wrote:
On 5/21/21 8:10 AM, Linus Torvalds wrote:
So mremap does need to flush the TLB before releasing the page table
lock
On Fri, May 21, 2021 at 3:04 AM Aneesh Kumar K.V
wrote:
>
> We could do MOVE_PMD with something like below? A equivalent MOVE_PUD
> will be costlier which makes me wonder whether we should even support that?
Well, without USE_SPLIT_PTE_PTLOCKS the pud case would be trivial too.
But everybody uses
On Fri, May 21, 2021 at 5:25 AM Liam Howlett wrote:
>
> mremap holds the mmap_sem in write mode as well, doesn't it? How is the user
> thread
> getting the new location?
No amount of locking protects against the HW page table walker (or,
indeed, software ones, but they are irrelevant).
And an
On 5/21/21 9:33 PM, Linus Torvalds wrote:
On Fri, May 21, 2021 at 3:04 AM Aneesh Kumar K.V
wrote:
We could do MOVE_PMD with something like below? A equivalent MOVE_PUD
will be costlier which makes me wonder whether we should even support that?
Well, without USE_SPLIT_PTE_PTLOCKS the pud case
On Fri, May 21, 2021 at 07:50:51AM +0200, Christoph Hellwig wrote:
> diff --git a/block/genhd.c b/block/genhd.c
> index 39ca97b0edc6..2c00bc3261d9 100644
> --- a/block/genhd.c
> +++ b/block/genhd.c
> @@ -335,52 +335,22 @@ static int blk_mangle_minor(int minor)
<-- snip -->
> -int blk_alloc_devt(s
On Fri, May 21, 2021 at 07:50:52AM +0200, Christoph Hellwig wrote:
> Keep this together with the first place that actually looks at
> ->minors and prepare for not passing a minors argument to
> alloc_disk.
>
> Signed-off-by: Christoph Hellwig
Reviewed-by: Luis Chamberlain
Luis
On Fri, May 21, 2021 at 07:50:53AM +0200, Christoph Hellwig wrote:
> Automatically set the GENHD_FL_EXT_DEVT flag for all disks allocated
> without an explicit number of minors. This is what all new block
> drivers should do, so make sure it is the default without boilerplate
> code.
>
> Signed-o
On Fri, May 21, 2021 at 07:50:54AM +0200, Christoph Hellwig wrote:
> Add a flag to indicate that __device_add_disk did grab a queue reference
> so that disk_release only drops it if we actually had it. This sort
> out one of the major pitfals with partially initialized gendisk that
> a lot of driv
Nicholas Piggin a écrit :
The msr argument is not used, remove it.
Why not keep and use that msr argument instead of re-reading regs->msr ?
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/asm-prototypes.h | 4 ++--
arch/powerpc/kernel/interrupt.c | 4 ++--
2 files c
On Fri, May 21, 2021 at 07:50:55AM +0200, Christoph Hellwig wrote:
> Add two new APIs to allocate and free a gendisk including the
> request_queue for use with BIO based drivers. This is to avoid
> boilerplate code in drivers.
>
> Signed-off-by: Christoph Hellwig
> ---
> block/genhd.c |
Nicholas Piggin writes:
> Excerpts from Nicholas Piggin's message of May 19, 2021 12:50 pm:
>> Excerpts from Dmitry V. Levin's message of May 19, 2021 9:13 am:
>>> Hi,
>>>
>>> On Thu, Jun 11, 2020 at 06:12:01PM +1000, Nicholas Piggin wrote:
>>> [...]
- Error handling: The consensus among k
* Matheus Castanho via Libc-alpha:
> From: Nicholas Piggin
> Subject: [PATCH 1/1] powerpc: Fix handling of scv return error codes
>
> When using scv on templated ASM syscalls, current code interprets any
> negative return value as error, but the only valid error codes are in
> the range -4095..-1
Florian Weimer writes:
> * Matheus Castanho via Libc-alpha:
>
>> From: Nicholas Piggin
>> Subject: [PATCH 1/1] powerpc: Fix handling of scv return error codes
>>
>> When using scv on templated ASM syscalls, current code interprets any
>> negative return value as error, but the only valid error
On Fri, May 21, 2021 at 05:00:36PM -0300, Matheus Castanho wrote:
> Florian Weimer writes:
> > * Matheus Castanho via Libc-alpha:
> >> From: Nicholas Piggin
> >> Subject: [PATCH 1/1] powerpc: Fix handling of scv return error codes
> >>
> >> When using scv on templated ASM syscalls, current code i
On Thu, May 13, 2021 at 12:02:54PM +0200, Juergen Gross wrote:
> Xen backends of para-virtualized devices can live in dom0 kernel, dom0
> user land, or in a driver domain. This means that a backend might
> reside in a less trusted environment than the Xen core components, so
> a backend should not
60 matches
Mail list logo