qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>,
	Halil Pasic <pasic@linux.vnet.ibm.com>,
	Pierre Morel <pmorel@linux.vnet.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 5/5] s390x/ccs: add ccw-tester emulated device
Date: Thu, 21 Sep 2017 16:45:47 +0800	[thread overview]
Message-ID: <20170921084547.GN11080@bjsdjshi@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170907100817.08ddae29.cohuck@redhat.com>

* Cornelia Huck <cohuck@redhat.com> [2017-09-07 10:08:17 +0200]:

[...]

> > I'm thinking of a method these days:
> > Could passing through an fully emulated ccw device (e.g. 3270), or a
> > virtio ccw device, in the level 1 kvm guest to a level 2 guest be a test
> > method for this?
> > 
> > All of the CCWs will be translated to IDAL CCWs by vfio-ccw in the level
> > 1 guest (which is the level 2 kvm host) and issued to the level 1 kvm
> > host. So, those IDALs will eventually be handled by the emulated device,
> > or the virtio ccw device, on the level 1 kvm host...
> > 
> > Some days ago, one of my colleague tried the emulated 3270 passing
> > through. She stucked with the problem that the level 1 kvm host handling
> > a senseid IDAL ccw as a Direct ccw.
> > 
> > Maybe I could try to pass through a virtio ccw device. I don't think of
> > any obvious problem that would lead to fail. Any comment?
> > 
> 
> That actually looks like a good thing to try! Cool idea.
> 

Tried to test with the following method:
1. Start g1 (first level guest on kvm a host) with a virtio blk device
   defined:
-drive file=/dev/disk/by-path/ccw-0.0.3f3e,if=none,id=drive-virtio-disk1,format=raw \
-device virtio-blk-ccw,devno=fe.0.2222,scsi=off,drive=drive-virtio-disk1,id=virtio-disk1 \
2. Login g1, and bind the subchannel of ccw device 0.0.2222 with
   vfio-ccw drvier.
3. Create a mdev on the above subchannel.
4. Passthrough the mdev to g2, and try to start g2.

The 4th step failed with the following message and hang:
qemu-system-s390x: vfio-ccw: wirte I/O region: errno=4
(BTW, 4 is EINTR.)

I roughly guess this might be caused by:
On the kvm host, virtio callback injects the I/O interrupt in a
synchronzing manner. And this causes g1's I/O interrupt handler getting
the interrupt and then signaling the Qemu instance on g1 with the I/O
result, even before return of the pwrite().

But, using gdb on the kvm host, I do see several ssch successfully
executed. I will dig the root reason, and see if there is some way to
fix the issue.

-- 
Dong Jia Shi

  parent reply	other threads:[~2017-09-21  8:45 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05 11:16 [Qemu-devel] [PATCH 0/5] add CCW indirect data access support Halil Pasic
2017-09-05 11:16 ` [Qemu-devel] [PATCH 1/5] s390x/css: introduce css data stream Halil Pasic
2017-09-06 12:18   ` Cornelia Huck
2017-09-06 12:40     ` Halil Pasic
2017-09-06 12:51       ` Cornelia Huck
2017-09-11 16:36         ` Halil Pasic
2017-09-13  9:53           ` Cornelia Huck
2017-09-13 11:35             ` Halil Pasic
2017-09-05 11:16 ` [Qemu-devel] [PATCH 2/5] s390x/css: use ccw " Halil Pasic
2017-09-06 12:32   ` Cornelia Huck
2017-09-06 12:42     ` Halil Pasic
2017-09-21  9:33   ` Pierre Morel
2017-09-21  9:36     ` Pierre Morel
2017-09-21  9:45     ` Cornelia Huck
2017-09-05 11:16 ` [Qemu-devel] [PATCH 3/5] virtio-ccw: " Halil Pasic
2017-09-06 12:42   ` Cornelia Huck
2017-09-06 12:49     ` Halil Pasic
2017-09-06 12:54       ` Cornelia Huck
2017-09-11 18:14     ` Halil Pasic
2017-09-13  9:58       ` Cornelia Huck
2017-09-13 11:36         ` Halil Pasic
2017-09-05 11:16 ` [Qemu-devel] [PATCH 4/5] s390x/css: support ccw IDA Halil Pasic
2017-09-06 13:10   ` Cornelia Huck
2017-09-11 18:08     ` Halil Pasic
2017-09-13  9:58       ` Cornelia Huck
2017-09-13 10:31         ` Halil Pasic
2017-09-13 10:50           ` Cornelia Huck
2017-09-05 11:16 ` [Qemu-devel] [PATCH 5/5] s390x/ccs: add ccw-tester emulated device Halil Pasic
2017-09-06 13:18   ` Cornelia Huck
2017-09-06 14:24     ` Halil Pasic
2017-09-06 15:20       ` Cornelia Huck
2017-09-06 16:16         ` Halil Pasic
2017-09-07  8:06           ` Cornelia Huck
2017-09-07  9:10             ` Janosch Frank
2017-09-07 12:24               ` Cornelia Huck
2017-09-07  7:31     ` Dong Jia Shi
2017-09-07  8:08       ` Cornelia Huck
2017-09-07 10:21         ` Halil Pasic
2017-09-07 10:52           ` Cornelia Huck
2017-09-08  2:01             ` Dong Jia Shi
2017-09-08 10:28               ` Halil Pasic
2017-09-19  6:03                 ` Dong Jia Shi
2017-09-21  8:45         ` Dong Jia Shi [this message]
2017-09-21  8:54           ` Cornelia Huck
2017-09-26  7:48             ` Dong Jia Shi
2017-09-27  7:11               ` Dong Jia Shi
2017-09-08 10:45 ` [Qemu-devel] [PATCH 0/5] add CCW indirect data access support Halil Pasic
2017-09-08 10:49   ` Cornelia Huck
2017-09-08 11:03     ` Halil Pasic
2017-09-08 11:19       ` Cornelia Huck
2017-09-08 11:43         ` Halil Pasic

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=20170921084547.GN11080@bjsdjshi@linux.vnet.ibm.com \
    --to=bjsdjshi@linux.vnet.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=pasic@linux.vnet.ibm.com \
    --cc=pmorel@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).