On 8/12/21 2:31 PM, Cornelia Huck wrote:
On Thu, Aug 12 2021, Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:
In the previous version we did only check that one ISC dedicated by
Linux for I/O is working fine.
However, there is no reason to prefer one ISC to another ISC, we are
free to take anyone.
Let's check all possible ISC to verify that QEMU/KVM is really ISC
independent.
It's probably a good idea to test for a non-standard isc. Not sure
whether we need all of them, but it doesn't hurt.
Do you also have plans for a test to verify the priority handling for
the different iscs?
No, I did not think about this yet.
Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
---
s390x/css.c | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
(...)
@@ -142,7 +143,6 @@ static void sense_id(void)
static void css_init(void)
{
- assert(register_io_int_func(css_irq_io) == 0);
lowcore_ptr->io_int_param = 0;
report(get_chsc_scsc(), "Store Channel Characteristics");
@@ -351,11 +351,20 @@ int main(int argc, char *argv[])
int i;
report_prefix_push("Channel Subsystem");
- enable_io_isc(0x80 >> IO_SCH_ISC);
- for (i = 0; tests[i].name; i++) {
- report_prefix_push(tests[i].name);
- tests[i].func();
- report_prefix_pop();
+
+ for (io_isc = 0; io_isc < 8; io_isc++) {
+ report_info("ISC: %d\n", io_isc);
+
+ enable_io_isc(0x80 >> io_isc);
+ assert(register_io_int_func(css_irq_io) == 0);
Why are you registering/deregistering the irq handler multiple times? It
should be the same, regardless of the isc?
Yes, right, did not pay attention when pushing all in the loop,
I will get it out of the loop.
Thanks,
Pierre
--
Pierre Morel
IBM Lab Boeblingen