Re: [kvm-unit-tests PATCH v3 7/9] s390x: smp: Remove unneeded cpu loops

Janosch Frank
2020-01-21T12:46:59Z

[-- Attachment #1.1: Type: text/plain, Size: 1820 bytes --]

On 1/20/20 5:11 PM, Cornelia Huck wrote:
> On Mon, 20 Jan 2020 15:41:52 +0100
> Janosch Frank <frankja@linux.ibm.com> wrote:
>
>> On 1/20/20 12:29 PM, Cornelia Huck wrote:
>>> On Fri, 17 Jan 2020 05:46:38 -0500
>>> Janosch Frank <frankja@linux.ibm.com> wrote:
>>>
>>>> Now that we have a loop which is executed after we return from the
>>>> main function of a secondary cpu, we can remove the surplus loops.
>>>>
>>>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>>>> ---
>>>> s390x/smp.c | 8 +-------
>>>> 1 file changed, 1 insertion(+), 7 deletions(-)
>>>>
>>>> diff --git a/s390x/smp.c b/s390x/smp.c
>>>> index 555ed72..c12a3db 100644
>>>> --- a/s390x/smp.c
>>>> +++ b/s390x/smp.c
>>>> @@ -29,15 +29,9 @@ static void wait_for_flag(void)
>>>> }
>>>> }
>>>>
>>>> -static void cpu_loop(void)
>>>> -{
>>>> - for (;;) {}
>>>> -}
>>>> -
>>>> static void test_func(void)
>>>> {
>>>> testflag = 1;
>>>> - cpu_loop();
>>>> }
>>>>
>>>> static void test_start(void)
>>>> @@ -234,7 +228,7 @@ int main(void)
>>>>
>>>> /* Setting up the cpu to give it a stack and lowcore */
>>>> psw.mask = extract_psw_mask();
>>>> - psw.addr = (unsigned long)cpu_loop;
>>>> + psw.addr = (unsigned long)test_func;
>>>
>>> Before, you did not set testflag here... intended change?
>>
>> Yes
>> It is set to 0 before the first test, so it shouldn't matter.
>
> Hm... I got a bit lost in all those changes, so I checked your branch
> on github, and I don't see it being set to 0 before test_start() is
> called?

Well, that's because test_start doesn't care about the flag.
ecall and emcall are the first users, and they set it to 0 before using it.

>
>>
>>>
>>>> smp_cpu_setup(1, psw);
>>>> smp_cpu_stop(1);
>>>>
>>>
>>
>>
>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]