All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	thuth@redhat.com, borntraeger@de.ibm.com, frankja@linux.ibm.com
Subject: Re: [kvm-unit-tests PATCH v7 4/4] s390x: SCLP unit test
Date: Mon, 13 Jan 2020 17:06:05 +0100	[thread overview]
Message-ID: <9f0bee07-28bc-8154-3c67-402c82da8f89@redhat.com> (raw)
In-Reply-To: <20200113162439.7ae81f84@p-imbrenda>

On 13.01.20 16:24, Claudio Imbrenda wrote:
> On Mon, 13 Jan 2020 15:43:28 +0100
> David Hildenbrand <david@redhat.com> wrote:
> 
>> On 13.01.20 15:05, Claudio Imbrenda wrote:
>>> On Mon, 13 Jan 2020 14:10:10 +0100
>>> David Hildenbrand <david@redhat.com> wrote:
>>>
>>> [...]
>>>   
>>>> :) I'm confused by the fact that you "expect_pgm_int()" but
>>>> actually don't expect one ...
>>>>
>>>> Please enlighten me why this isn't
>>>>
>>>> +	sclp_mark_busy();
>>>> +	h->length = 8;
>>>> +	sclp_setup_int();
>>>> +
>>>> +	asm volatile(
>>>> +		"       .insn   rre,0xb2204200,%1,%2\n"  /* servc
>>>> %1,%2 */
>>>> +		"       ipm     %0\n"
>>>> +		"       srl     %0,28"
>>>> +		: "=&d" (cc) : "d" (valid_code), "a"
>>>> (__pa(pagebuf))
>>>> +		: "cc", "memory");
>>>> +	if (!cc)
>>>> +		sclp_wait_busy();
>>>> +	report(cc == 0, "Instruction format ignored bits");
>>>>
>>>> I feel like I am missing something important.  
>>>
>>> because if we take an unexpected pgm interrupt:
>>> * the interrupt handler will write stuff on the console using SCLP
>>> * it will wait for the busy flag to be cleared before doing so
>>> * thus it will hang.
>>>
>>> this would be solved by adding special logic to the pgm interrupt
>>> handler (as we have discussed in your previous email)
>>>   
>>
>> I see, so the issue should hold for all SCLP checks where we don't
>> expect an exception ... hmmm
>  
> which is why my wrapper in the unit test is so complicated :)
> 

so .... if we would implement my suggestion (if we get an exception on a
servc instruction, clear sclp_busy) that code would get simplified as
well? :)

It would be really beneficial if we could rely on

expect_pgm_int()
...
check_pgm_int_code(whatever)

if we *expect an interrupt and none of that if we don't. So if it's a
matter of clearing sclp_busy on PGM exceptions, that shouldn't be too
hard ... but maybe I am missing something (haven't looked again at the
whole patch ...).

-- 
Thanks,

David / dhildenb

  reply	other threads:[~2020-01-13 16:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-10 18:40 [kvm-unit-tests PATCH v7 0/4] s390x: SCLP Unit test Claudio Imbrenda
2020-01-10 18:40 ` [kvm-unit-tests PATCH v7 1/4] s390x: export sclp_setup_int Claudio Imbrenda
2020-01-10 18:40 ` [kvm-unit-tests PATCH v7 2/4] s390x: sclp: add service call instruction wrapper Claudio Imbrenda
2020-01-10 18:40 ` [kvm-unit-tests PATCH v7 3/4] s390x: lib: add SPX and STPX " Claudio Imbrenda
2020-01-13  9:42   ` Janosch Frank
2020-01-13 12:27     ` Claudio Imbrenda
2020-01-13 10:42   ` David Hildenbrand
2020-01-10 18:40 ` [kvm-unit-tests PATCH v7 4/4] s390x: SCLP unit test Claudio Imbrenda
2020-01-13 11:00   ` David Hildenbrand
2020-01-13 12:33     ` Claudio Imbrenda
2020-01-13 12:48       ` David Hildenbrand
2020-01-13 12:58         ` Claudio Imbrenda
2020-01-13 13:10           ` David Hildenbrand
2020-01-13 14:05             ` Claudio Imbrenda
2020-01-13 14:43               ` David Hildenbrand
2020-01-13 15:24                 ` Claudio Imbrenda
2020-01-13 16:06                   ` David Hildenbrand [this message]
2020-01-13 16:17                     ` Claudio Imbrenda
2020-01-15  9:57                       ` David Hildenbrand

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=9f0bee07-28bc-8154-3c67-402c82da8f89@redhat.com \
    --to=david@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --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.