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

Claudio Imbrenda
2022-01-14T13:16:35Z

On Fri, 14 Jan 2022 14:13:01 +0100
Janosch Frank <frankja@linux.ibm.com> wrote:

> 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.

so we do need 2 pages, and using 1 was a bug