From: Cornelia Huck <cohuck@redhat.com>
To: Collin Walling <walling@linux.ibm.com>
Cc: thuth@redhat.com, frankja@linux.ibm.com, mst@redhat.com,
david@redhat.com, qemu-devel@nongnu.org, pasic@linux.ibm.com,
borntraeger@de.ibm.com, qemu-s390x@nongnu.org,
pbonzini@redhat.com, sumanthk@linux.ibm.com,
mihajlov@linux.ibm.com, rth@twiddle.net
Subject: Re: [PATCH v6 0/8] s390: Extended-Length SCCB & DIAGNOSE 0x318
Date: Wed, 16 Sep 2020 17:53:00 +0200 [thread overview]
Message-ID: <20200916175300.5c2b6bbb.cohuck@redhat.com> (raw)
In-Reply-To: <20200915194416.107460-1-walling@linux.ibm.com>
On Tue, 15 Sep 2020 15:44:08 -0400
Collin Walling <walling@linux.ibm.com> wrote:
> Changelog:
>
> v6
>
> • sccb_verify_boundary function:
> • s/len/sccb_len
> • removed the endian check/conversion of the sccb_len from within
> this function (caller is now responsible)
>
> • proper endian conversion when using header length to malloc
>
> • use g_autofree for work_sccb
>
> • added r-b's and acks (thanks!)
>
> • added a feature-check fence within the diag_318_handler to ensure
> the handler does not complete without proper feature support
> • will throw a program exception if handler is invoked but
> feature is not enabled
>
>
>
> v5 (comment below pertains to version 5)
>
> Janosch, Thomas, Conny: I've removed your r-b's from patch #3 since I
> added some g_mallocs in place and I'd like to make sure things are
> done properly there (explained in changelog, but let me know if further
> explanation is necessary).
>
> Janosch, please let me know if the changes to #3 are safe under PV.
>
> Thanks.
>
> • removed sccb_verify_length function
> - will simply use the length check code that was in place before
>
> • introduced a macro for calculating required SCCB length
> - takes a struct and max # of cpus as args
>
> • work_sccb size is now dynamically allocated based on the length
> provided by the guest kernel, instead of always using a static
> 4K size
> - as such, the SCCB will have to be read twice:
> - first time to retrieve the header
> - second time with proper size after space for work_sccb
> is allocated
>
>
>
> v4
>
> • added r-b's and ack's (thanks, everyone!)
>
> • renamed boundary and length function
>
> • updated header sync to reflect a change discussed in the respective
> KVM patches
>
> • s/data_len/offset_cpu
>
> • added /* fallthrough */ comment in boundary check
>
>
>
> v3
>
> • Device IOCTLs removed
> - diag 318 info is now communicated via sync_regs
>
> • Reset code removed
> - this is now handled in KVM
> - diag318_info is stored within the CPU reset portion of the
> S390CPUState
>
> • Various cleanups for ELS preliminary patches
>
>
>
> v2
>
> • QEMU now handles the instruction call
> - as such, the "enable diag 318" IOCTL has been removed
>
> • patch #1 now changes the read scp/cpu info functions to
> retrieve the machine state once
> - as such, I have not added any ack's or r-bs since this
> patch differs from the previous version
>
> • patch #3 introduces a new "get_read_scp_info_data_len"
> function in order clean-up the variable data length assignment
> in patch #7
> - a comment above this function should help clarify what's
> going on to make things a bit easier to read
>
> • other misc clean ups and fixes
> - s/diag318/diag_318 in order to keep the naming scheme
> consistent with Linux and other diag-related code
> - s/byte_134/fac134 to align naming scheme with Linux
>
> -----------------------------------------------------------------------
>
> This patch series introduces two features for an s390 KVM quest:
> - Extended-Length SCCB (els) for the Read SCP/CPU Info SCLP
> commands
> - DIAGNOSE 0x318 (diag_318) enabling / migration handling
>
> The diag 318 feature depends on els and KVM support.
>
> The els feature is handled entirely with QEMU, and does not require
> KVM support.
>
> Both features are made available starting with the zEC12-full model.
>
> These patches are introduced together for two main reasons:
> - els allows diag 318 to exist while retaining the original 248
> VCPU max
> - diag 318 is presented to show how els is useful
>
> Full els support is dependant on the Linux kernel, which must react
> to the SCLP response code and set an appropriate-length SCCB.
>
> A user should take care when tuning the CPU model for a VM.
> If a user defines a VM with els support and specifies 248 CPUs, but
> the guest Linux kernel cannot react to the SCLP response code, then
> the guest will crash immediately upon kernel startup.
>
> Collin L. Walling (8):
> s390/sclp: get machine once during read scp/cpu info
> s390/sclp: rework sclp boundary checks
> s390/sclp: read sccb from mem based on provided length
> s390/sclp: check sccb len before filling in data
> s390/sclp: use cpu offset to locate cpu entries
> s390/sclp: add extended-length sccb support for kvm guest
> s390/kvm: header sync for diag318
> s390: guest support for diagnose 0x318
>
> hw/s390x/event-facility.c | 2 +-
> hw/s390x/sclp.c | 142 ++++++++++++++++++++--------
> include/hw/s390x/sclp.h | 11 ++-
> linux-headers/asm-s390/kvm.h | 7 +-
> linux-headers/linux/kvm.h | 1 +
> target/s390x/cpu.h | 2 +
> target/s390x/cpu_features.h | 1 +
> target/s390x/cpu_features_def.h.inc | 4 +
> target/s390x/cpu_models.c | 1 +
> target/s390x/gen-features.c | 2 +
> target/s390x/kvm.c | 47 +++++++++
> target/s390x/machine.c | 17 ++++
> 12 files changed, 194 insertions(+), 43 deletions(-)
>
Thanks, applied.
next prev parent reply other threads:[~2020-09-16 15:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-15 19:44 [PATCH v6 0/8] s390: Extended-Length SCCB & DIAGNOSE 0x318 Collin Walling
2020-09-15 19:44 ` [PATCH v6 1/8] s390/sclp: get machine once during read scp/cpu info Collin Walling
2020-09-15 19:44 ` [PATCH v6 2/8] s390/sclp: rework sclp boundary checks Collin Walling
2020-09-16 7:10 ` Thomas Huth
2020-09-16 16:12 ` Collin Walling
2020-09-15 19:44 ` [PATCH v6 3/8] s390/sclp: read sccb from mem based on provided length Collin Walling
2020-09-16 8:00 ` Thomas Huth
2020-09-15 19:44 ` [PATCH v6 4/8] s390/sclp: check sccb len before filling in data Collin Walling
2020-09-15 19:44 ` [PATCH v6 5/8] s390/sclp: use cpu offset to locate cpu entries Collin Walling
2020-09-15 19:44 ` [PATCH v6 6/8] s390/sclp: add extended-length sccb support for kvm guest Collin Walling
2020-09-15 19:44 ` [PATCH v6 7/8] s390/kvm: header sync for diag318 Collin Walling
2020-09-16 15:52 ` Cornelia Huck
2020-09-16 16:11 ` Collin Walling
2020-09-15 19:44 ` [PATCH v6 8/8] s390: guest support for diagnose 0x318 Collin Walling
2020-09-16 8:11 ` Thomas Huth
2020-09-16 8:21 ` David Hildenbrand
2020-09-15 19:57 ` [PATCH v6 0/8] s390: Extended-Length SCCB & DIAGNOSE 0x318 no-reply
2020-09-16 6:37 ` Cornelia Huck
2020-09-16 15:53 ` Cornelia Huck [this message]
2020-09-16 17:15 ` Collin Walling
2020-09-25 15:13 ` Collin Walling
2020-09-25 15:18 ` Cornelia Huck
2020-09-25 15:32 ` Claudio Imbrenda
2020-09-25 15:43 ` Cornelia Huck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200916175300.5c2b6bbb.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=mihajlov@linux.ibm.com \
--cc=mst@redhat.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=rth@twiddle.net \
--cc=sumanthk@linux.ibm.com \
--cc=thuth@redhat.com \
--cc=walling@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.