From: Cornelia Huck <cohuck@redhat.com>
To: Pierre Morel <pmorel@linux.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
frankja@linux.ibm.com, david@redhat.com, thuth@redhat.com
Subject: Re: [kvm-unit-tests PATCH v2 8/9] s390x: css: ssch/tsch with sense and interrupt
Date: Mon, 2 Dec 2019 20:54:43 +0100 [thread overview]
Message-ID: <20191202205443.3711e682.cohuck@redhat.com> (raw)
In-Reply-To: <00d5235b-eaaa-172c-6aa0-09e45be43635@linux.ibm.com>
On Mon, 2 Dec 2019 19:18:20 +0100
Pierre Morel <pmorel@linux.ibm.com> wrote:
> On 2019-12-02 15:55, Cornelia Huck wrote:
> > On Thu, 28 Nov 2019 13:46:06 +0100
> > Pierre Morel <pmorel@linux.ibm.com> wrote:
> >> + ccw[0].code = code ;
> >
> > Extra ' ' before ';'
>
> yes, thanks
>
> >
> >> + ccw[0].flags = CCW_F_PCI;
> >
> > Huh, what's that PCI for?
>
> Program Control Interruption
Yes; but why do you need it? Doesn't the QEMU device provide you with
an interrupt for the final status? I don't think PCI makes sense unless
you want a notification for the progress through a chain.
>
> I will add a comment :)
Good idea; the PCI is bound to confuse people :)
>
> >
> >> + ccw[0].count = count;
> >> + ccw[0].data = (int)(unsigned long)data;
> >
> > Can you be sure that data is always below 2G?
>
> Currently yes, the program is loaded at 0x10000 and is quite small
> also doing a test does not hurt for the case the function is used in
> another test someday.
Nod.
>
> >
> >> + orb_p->intparm = 0xcafec0ca;
> >> + orb_p->ctrl = ORB_F_INIT_IRQ|ORB_F_FORMAT|ORB_F_LPM_DFLT;
> >> + orb_p->cpa = (unsigned int) (unsigned long)&ccw[0];
> >> +
> >> + report_prefix_push("Start Subchannel");
> >> + ret = ssch(test_device_sid, orb_p);
> >> + if (ret) {
> >> + report("ssch cc=%d", 0, ret);
> >> + report_prefix_pop();
> >> + return 0;
> >> + }
> >> + report_prefix_pop();
> >> + return 1;
> >> +}
> >> +
> >> +static void test_sense(void)
> >> +{
> >> + int success;
> >> +
> >> + enable_io_irq();
> >> +
> >> + success = start_subchannel(CCW_CMD_SENSE_ID, buffer, sizeof(senseid));
> >> + if (!success) {
> >> + report("start_subchannel failed", 0);
> >> + return;
> >> + }
> >> +
> >> + senseid.cu_type = buffer[2] | (buffer[1] << 8);
> >> + delay(1000);
> >> +
> >> + /* Sense ID is non packed cut_type is at offset +1 byte */
> >> + if (senseid.cu_type == PONG_CU)
> >> + report("cu_type: expect c0ca, got %04x", 1, senseid.cu_type);
> >> + else
> >> + report("cu_type: expect c0ca, got %04x", 0, senseid.cu_type);
> >> +}
> >
> > I'm not really convinced by that logic here. This will fall apart if
> > you don't have your pong device exactly in the right place, and it does
> > not make it easy to extend this for more devices in the future.
>
> Wanted to keep things simple. PONG must be the first valid channel.
> also, should be documented at least.
Yes, please :)
>
> >
> > What about the following:
> > - do a stsch() loop (basically re-use your first patch)
> > - for each I/O subchannel with dnv=1, do SenseID
> > - use the first (?) device with a c0ca CU type as your test device
> >
> > Or maybe I'm overthinking this? It just does not strike me as very
> > robust and reusable.
>
> I can do it.
>
> Thanks for the comments,
>
> Best regards,
> Pierre
>
next prev parent reply other threads:[~2019-12-02 19:54 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-28 12:45 [kvm-unit-tests PATCH v2 0/9] s390x: Testing the Channel Subsystem I/O Pierre Morel
2019-11-28 12:45 ` [kvm-unit-tests PATCH v2 1/9] s390x: saving regs for interrupts Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 2/9] s390x: Define the PSW bits Pierre Morel
2019-11-28 14:36 ` David Hildenbrand
2019-11-28 19:16 ` Pierre Morel
2019-11-28 19:48 ` David Hildenbrand
2019-11-29 13:04 ` Pierre Morel
2019-12-02 11:11 ` Janosch Frank
2019-12-02 11:17 ` David Hildenbrand
2019-12-02 16:52 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 3/9] s390x: irq: make IRQ handler weak Pierre Morel
2019-11-29 12:01 ` David Hildenbrand
2019-12-02 10:41 ` Thomas Huth
2019-12-02 16:55 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 4/9] s390x: export the clock get_clock_ms() utility Pierre Morel
2019-11-29 12:03 ` David Hildenbrand
2019-11-29 13:04 ` Pierre Morel
2019-12-02 11:13 ` Janosch Frank
2019-12-02 17:03 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 5/9] s390x: Library resources for CSS tests Pierre Morel
2019-12-02 14:06 ` Cornelia Huck
2019-12-02 17:33 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 6/9] s390x: css: stsch, enumeration test Pierre Morel
2019-12-02 14:22 ` Cornelia Huck
2019-12-02 17:53 ` Pierre Morel
2019-12-02 18:15 ` Cornelia Huck
2019-12-02 18:33 ` Pierre Morel
2019-12-02 19:49 ` Cornelia Huck
2019-12-03 8:43 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 7/9] s390x: css: msch, enable test Pierre Morel
2019-12-02 14:30 ` Cornelia Huck
2019-12-02 17:55 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 8/9] s390x: css: ssch/tsch with sense and interrupt Pierre Morel
2019-12-02 14:55 ` Cornelia Huck
2019-12-02 18:18 ` Pierre Morel
2019-12-02 19:54 ` Cornelia Huck [this message]
2019-12-03 8:58 ` Pierre Morel
2019-11-28 12:46 ` [kvm-unit-tests PATCH v2 9/9] s390x: css: ping pong Pierre Morel
2019-12-02 15:03 ` Cornelia Huck
2019-12-02 18:25 ` Pierre Morel
2019-12-06 14:18 ` Pierre Morel
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=20191202205443.3711e682.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=pmorel@linux.ibm.com \
--cc=thuth@redhat.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.