[PATCH v4 0/4] s390/crash: support multi-segment iterators

Alexander Gordeev posted 4 patches 3 years, 9 months ago
arch/s390/include/asm/os_info.h |  17 ++++-
arch/s390/include/asm/sclp.h    |   4 +-
arch/s390/include/asm/uaccess.h |   1 -
arch/s390/kernel/crash_dump.c   | 114 ++++++++------------------------
arch/s390/mm/maccess.c          |  26 --------
drivers/s390/char/zcore.c       |  55 ++++++++-------
6 files changed, 71 insertions(+), 146 deletions(-)
[PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Alexander Gordeev 3 years, 9 months ago
Hi Matthew et al,

This series completes 5d8de293c224 ("vmcore: convert copy_oldmem_page()
to take an iov_iter") for s390.

Changes since v3:
  - concurrent access to HSA and oldmem swap buffers protected;

Changes since v2:
  - Matthew Wilcox suggestion is adopted, with that...
  - copy_to_iter() is used instead of custom implementation;

Changes since v1:
  - number of bytes left to copy on fail fixed;

Thanks!


Alexander Gordeev (4):
  s390/zcore: fix race when reading from hardware system area
  s390/crash: move copy_to_user_real() to crash_dump.c
  s390/crash: use static swap buffer for copy_to_user_real()
  s390/crash: support multi-segment iterators

 arch/s390/include/asm/os_info.h |  17 ++++-
 arch/s390/include/asm/sclp.h    |   4 +-
 arch/s390/include/asm/uaccess.h |   1 -
 arch/s390/kernel/crash_dump.c   | 114 ++++++++------------------------
 arch/s390/mm/maccess.c          |  26 --------
 drivers/s390/char/zcore.c       |  55 ++++++++-------
 6 files changed, 71 insertions(+), 146 deletions(-)

-- 
2.34.1
Re: [PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Heiko Carstens 3 years, 9 months ago
On Tue, Jul 19, 2022 at 07:16:32AM +0200, Alexander Gordeev wrote:
> Hi Matthew et al,
> 
> This series completes 5d8de293c224 ("vmcore: convert copy_oldmem_page()
> to take an iov_iter") for s390.
> 
> Changes since v3:
>   - concurrent access to HSA and oldmem swap buffers protected;
> 
> Changes since v2:
>   - Matthew Wilcox suggestion is adopted, with that...
>   - copy_to_iter() is used instead of custom implementation;
> 
> Changes since v1:
>   - number of bytes left to copy on fail fixed;
> 
> Thanks!
> 
> 
> Alexander Gordeev (4):
>   s390/zcore: fix race when reading from hardware system area
>   s390/crash: move copy_to_user_real() to crash_dump.c
>   s390/crash: use static swap buffer for copy_to_user_real()
>   s390/crash: support multi-segment iterators
> 
>  arch/s390/include/asm/os_info.h |  17 ++++-
>  arch/s390/include/asm/sclp.h    |   4 +-
>  arch/s390/include/asm/uaccess.h |   1 -
>  arch/s390/kernel/crash_dump.c   | 114 ++++++++------------------------
>  arch/s390/mm/maccess.c          |  26 --------
>  drivers/s390/char/zcore.c       |  55 ++++++++-------
>  6 files changed, 71 insertions(+), 146 deletions(-)

FWIW,
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Re: [PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Al Viro 3 years, 9 months ago
On Tue, Jul 19, 2022 at 07:16:32AM +0200, Alexander Gordeev wrote:
> Hi Matthew et al,
> 
> This series completes 5d8de293c224 ("vmcore: convert copy_oldmem_page()
> to take an iov_iter") for s390.
> 
> Changes since v3:
>   - concurrent access to HSA and oldmem swap buffers protected;
> 
> Changes since v2:
>   - Matthew Wilcox suggestion is adopted, with that...
>   - copy_to_iter() is used instead of custom implementation;
> 
> Changes since v1:
>   - number of bytes left to copy on fail fixed;

OK...  Do you prefer it to go through s390 tree?  The thing is, I've
stuff in iov_iter tree that conflicts with it; I'll gladly drop that
bit (vfs.git #fixes-s390) in favour of your series (and drop s390
bits from "new iov_iter flavour - ITER_UBUF" in #work.iov_iter - they
are not needed anymore).

I can put your series into replacement of #fixes-s390, or pull it
from whatever static branch you put it into - up to you.
Preferences?
Re: [PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Alexander Gordeev 3 years, 9 months ago
On Wed, Jul 20, 2022 at 04:17:20AM +0100, Al Viro wrote:
> I can put your series into replacement of #fixes-s390, or pull it
> from whatever static branch you put it into - up to you.
> Preferences?

Hi Al,

Please find the changes since commit af2debd58bd769e38f538143f0d332e15d753396:

  s390/crash: make copy_oldmem_page() return number of bytes copied

up to ebbc9570169147740aa39aee1d61b4cc5a631644:

  s390/crash: support multi-segment iterators

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git	vmcore-iov_iter

Please, note three (rather trivial) prereq commits to pull along:

  f6749da17a34 s390/crash: fix incorrect number of bytes to copy to user space
  86caa4b67895 s390/crash: remove redundant panic() on save area allocation failure
  7190d84966b3 s390/mm: remove unused tprot() function

Thanks!
Re: [PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Al Viro 3 years, 9 months ago
On Thu, Jul 21, 2022 at 10:46:16AM +0200, Alexander Gordeev wrote:
> On Wed, Jul 20, 2022 at 04:17:20AM +0100, Al Viro wrote:
> > I can put your series into replacement of #fixes-s390, or pull it
> > from whatever static branch you put it into - up to you.
> > Preferences?
> 
> Hi Al,
> 
> Please find the changes since commit af2debd58bd769e38f538143f0d332e15d753396:
> 
>   s390/crash: make copy_oldmem_page() return number of bytes copied
> 
> up to ebbc9570169147740aa39aee1d61b4cc5a631644:
> 
>   s390/crash: support multi-segment iterators
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git	vmcore-iov_iter
> 
> Please, note three (rather trivial) prereq commits to pull along:
> 
>   f6749da17a34 s390/crash: fix incorrect number of bytes to copy to user space
>   86caa4b67895 s390/crash: remove redundant panic() on save area allocation failure
>   7190d84966b3 s390/mm: remove unused tprot() function

Pulled.
Re: [PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Alexander Gordeev 3 years, 9 months ago
On Wed, Jul 20, 2022 at 04:17:20AM +0100, Al Viro wrote:
> OK...  Do you prefer it to go through s390 tree?  The thing is, I've
> stuff in iov_iter tree that conflicts with it; I'll gladly drop that
> bit (vfs.git #fixes-s390) in favour of your series (and drop s390
> bits from "new iov_iter flavour - ITER_UBUF" in #work.iov_iter - they
> are not needed anymore).
> 
> I can put your series into replacement of #fixes-s390, or pull it
> from whatever static branch you put it into - up to you.
> Preferences?

Hi Al,

I am preparing a branch for you.
Will retest it and let you know once it is done.

Thanks!
Re: [PATCH v4 0/4] s390/crash: support multi-segment iterators
Posted by Alexander Egorenkov 3 years, 9 months ago
HI Alexander,

Alexander Gordeev <agordeev@linux.ibm.com> writes:

> Hi Matthew et al,
>
> This series completes 5d8de293c224 ("vmcore: convert copy_oldmem_page()
> to take an iov_iter") for s390.
>
> Changes since v3:
>   - concurrent access to HSA and oldmem swap buffers protected;
>
> Changes since v2:
>   - Matthew Wilcox suggestion is adopted, with that...
>   - copy_to_iter() is used instead of custom implementation;
>
> Changes since v1:
>   - number of bytes left to copy on fail fixed;
>
> Thanks!
>
>
> Alexander Gordeev (4):
>   s390/zcore: fix race when reading from hardware system area
>   s390/crash: move copy_to_user_real() to crash_dump.c
>   s390/crash: use static swap buffer for copy_to_user_real()
>   s390/crash: support multi-segment iterators
>
>  arch/s390/include/asm/os_info.h |  17 ++++-
>  arch/s390/include/asm/sclp.h    |   4 +-
>  arch/s390/include/asm/uaccess.h |   1 -
>  arch/s390/kernel/crash_dump.c   | 114 ++++++++------------------------
>  arch/s390/mm/maccess.c          |  26 --------
>  drivers/s390/char/zcore.c       |  55 ++++++++-------
>  6 files changed, 71 insertions(+), 146 deletions(-)
>
> -- 
> 2.34.1

all our kdump + makedumpfile (with CP as core collector as well) work
with these patches applied.

Tested on LPAR and zVM.
With and w/o KASAN.

Tested-by: Alexander Egorenkov <egorenar@linux.ibm.com>

Regards
Alex