Re: [kvm-unit-tests PATCH 4/5] s390x: smp: Allocate memory in DMA31 space

Janosch Frank
2022-01-14T13:13:09Z

On 1/14/22 14:01, Claudio Imbrenda wrote:
> On Fri, 14 Jan 2022 13:50:52 +0100
> Nico Boehr <nrb@linux.ibm.com> wrote:
>
>> On Fri, 2022-01-14 at 10:02 +0000, Janosch Frank wrote:
>>> The store status at address order works with 31 bit addresses so
>>> let's
>>> use them.
>>>
>>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>>> ---
>>>  s390x/smp.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/s390x/smp.c b/s390x/smp.c
>>> index 32f128b3..c91f170b 100644
>>> --- a/s390x/smp.c
>>> +++ b/s390x/smp.c
>>
>> [...]
>>
>>> @@ -244,7 +244,7 @@ static void test_func_initial(void)
>>>
>>>  static void test_reset_initial(void)
>>>  {
>>> -       struct cpu_status *status = alloc_pages(0);
>>> +       struct cpu_status *status = alloc_pages_flags(1, AREA_DMA31);
>>
>> Why do we need two pages now?
>
> actually, wait.....
>
> struct cpu_status *status = alloc_pages_flags(1, AREA_DMA31);
> uint32_t r;
>
> report_prefix_push("store status at address");
> memset(status, 0, PAGE_SIZE * 2);
>
> we were allocating one page, and using 2!
>
> @Janosch do we need 1 or 2 pages?
>

Have a look at the memcmp() below those lines.

I test if the status page has changed by doing a memcmp against the
second page.