From: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>,
linux-s390@vger.kernel.org, kvm@vger.kernel.org,
borntraeger@de.ibm.com, qemu-devel@nongnu.org,
Auger Eric <eric.auger@redhat.com>,
alex.williamson@redhat.com,
Xiao Feng Ren <renxiaof@linux.vnet.ibm.com>,
agraf@suse.com
Subject: Re: [Qemu-devel] [PATCH v6 10/13] s390x/css: introduce and realize ccw-request callback
Date: Wed, 3 May 2017 10:18:50 +0800 [thread overview]
Message-ID: <20170503021850.GG27968@bjsdjshi@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170502180407.33a8f468.cornelia.huck@de.ibm.com>
* Cornelia Huck <cornelia.huck@de.ibm.com> [2017-05-02 18:04:07 +0200]:
> On Tue, 2 May 2017 10:15:19 +0800
> Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
>
> > * Auger Eric <eric.auger@redhat.com> [2017-05-01 19:28:23 +0200]:
>
> > > > static void vfio_ccw_io_notifier_handler(void *opaque)
> > > > {
> > > > VFIOCCWDevice *vcdev = opaque;
> > > > + struct ccw_io_region *region = vcdev->io_region;
> > > > + S390CCWDevice *cdev = S390_CCW_DEVICE(vcdev);
> > > > + CcwDevice *ccw_dev = CCW_DEVICE(cdev);
> > > > + SubchDev *sch = ccw_dev->sch;
> > > > + SCSW *s = &sch->curr_status.scsw;
> > > > + IRB irb;
> > > >
> > > > if (!event_notifier_test_and_clear(&vcdev->io_notifier)) {
> > > > return;
> > > > }
> > > > +
> > > > + if (pread(vcdev->vdev.fd, region,
> > > > + vcdev->io_region_size, vcdev->io_region_offset) == -1) {
> > > is it possible to read less bytes than requested?
> > Currently, impossible. The kernel side returns either the full region,
> > or an error.
> > But we surely could make it more friendly for a partial return. I will
> > add a check for that case, and generate a channel program check for it.
>
> I think a channel-control check would be more appropriate here.
Hi Conny,
After reading PoP 14-43, I think you are right.
Quotation from PoP:
------------------8<-----------------------------------
Channel-control check is caused by any machine
malfunction affecting channel-subsystem controls.
... ...
Channel-control check may also indicate that an
error has been detected in the information trans-
ferred to or from main storage during an I/O opera-
tion.
... ...
Detection of the channel-control-check condition
causes the current operation, if any, to be terminated
immediately. The subchannel is made status pending
with primary and alert status or with primary, second-
ary, and alert status as a function of the type of termi-
nation, the current subchannel state, and the device
status presented, if any. When the channel sub-
system recognizes a channel-control-check condi-
tion, any previously existing intermediate interruption
condition may or may not be recognized by the chan-
nel subsystem.
------------------>8-----------------------------------
So I decide to add this piece of code:
if (size != vcdev->io_region_size) {
/* Information transfer error, generate channel-control check. */
s->ctrl &= ~SCSW_ACTL_START_PEND;
s->cstat = SCSW_CSTAT_CHN_CTRL_CHK;
s->ctrl &= ~SCSW_CTRL_MASK_STCTL;
s->ctrl |= SCSW_STCTL_PRIMARY | SCSW_STCTL_SECONDARY |
SCSW_STCTL_ALERT | SCSW_STCTL_STATUS_PEND;
goto read_err;
}
--
Dong Jia Shi
next prev parent reply other threads:[~2017-05-03 2:19 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-28 13:09 [PATCH v6 00/13] basic channel IO passthrough infrastructure based on vfio Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 01/13] update-linux-headers: update for vfio-ccw Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 02/13] vfio: linux-headers " Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 03/13] s390x/css: add s390-squash-mcss machine option Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 04/13] s390x/css: realize css_sch_build_schib Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 05/13] s390x/css: realize css_create_sch Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 06/13] s390x/css: device support for s390-ccw passthrough Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-05-01 11:08 ` Auger Eric
2017-05-02 2:37 ` Dong Jia Shi
2017-05-01 11:20 ` Auger Eric
2017-05-01 11:24 ` Auger Eric
2017-04-28 13:09 ` [PATCH v6 07/13] vfio/ccw: vfio based subchannel passthrough driver Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-05-01 11:08 ` Auger Eric
2017-05-02 5:07 ` Dong Jia Shi
2017-05-02 6:48 ` Auger Eric
2017-04-28 13:09 ` [PATCH v6 08/13] vfio/ccw: get io region info Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-05-01 11:08 ` Auger Eric
2017-05-02 5:16 ` Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 09/13] vfio/ccw: get irqs info and set the eventfd fd Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-05-01 11:08 ` Auger Eric
2017-05-02 5:37 ` Dong Jia Shi
2017-05-02 6:49 ` Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 10/13] s390x/css: introduce and realize ccw-request callback Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-05-01 17:28 ` Auger Eric
2017-05-02 2:15 ` Dong Jia Shi
2017-05-02 16:04 ` Cornelia Huck
2017-05-03 2:18 ` Dong Jia Shi [this message]
2017-05-03 11:14 ` Cornelia Huck
2017-04-28 13:09 ` [PATCH v6 11/13] s390x/css: ccw translation infrastructure Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 12/13] vfio/ccw: update sense data if a unit check is pending Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
2017-04-28 13:09 ` [PATCH v6 13/13] MAINTAINERS: Add vfio-ccw maintainer Dong Jia Shi
2017-04-28 13:09 ` [Qemu-devel] " Dong Jia Shi
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=20170503021850.GG27968@bjsdjshi@linux.vnet.ibm.com \
--to=bjsdjshi@linux.vnet.ibm.com \
--cc=agraf@suse.com \
--cc=alex.williamson@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=eric.auger@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=renxiaof@linux.vnet.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.