[PATCHv3,0/7] Large pages support for aarch64/ppc64

Submitted by Dmitry Safonov on April 23, 2018, 3:16 p.m.

Details

Message ID CAJwJo6Z+PXcxJQ_=BMpsAhWMZ0WvU0bYRHpq1JmWKDT3s1QUFA@mail.gmail.com
State New
Headers show

Patch hide | download patch | download mbox

--- a/criu/pie/restorer.c
+++ b/criu/pie/restorer.c
@@ -700,6 +700,7 @@  static int restore_aio_ring(struct rst_aio_ring *raio)
        ret = sys_io_setup(raio->nr_req, &ctx);
        if (ret < 0) {
                pr_err("Ring setup failed with %d\n", ret);
+               pr_err("nr_req=%u\n", raio->nr_req);
                return -1;
        }


Comments

Dmitry Safonov April 25, 2018, 10:42 p.m.
Hi Adrian,

Have you any chance to try it?
Maybe you have a possibility to drop me privately the credentials for VM?
Because I tried to reproduce it without luck :(

If you give me access I'll try to check the other aarch64 failures too..

Thanks,
             Dmitry
Adrian Reber April 26, 2018, 7:55 a.m.
On Wed, Apr 25, 2018 at 11:42:01PM +0100, Dmitry Safonov wrote:
> Have you any chance to try it?

Will try it today.

> Maybe you have a possibility to drop me privately the credentials for VM?
> Because I tried to reproduce it without luck :(
> 
> If you give me access I'll try to check the other aarch64 failures too..

Unfortunately that is not possible. My test systems are not reachable.

		Adrian
Adrian Reber May 2, 2018, 2:06 p.m.
On Mon, Apr 23, 2018 at 04:16:33PM +0100, Dmitry Safonov wrote:
> 2018-04-20 7:56 GMT+01:00 Adrian Reber <areber@redhat.com>:
> > On Fri, Apr 20, 2018 at 12:42:34AM +0100, Dmitry Safonov wrote:
> >> 2018-04-12 15:52 GMT+01:00 Dmitry Safonov <0x7f454c46@gmail.com>:
> >> > 2018-04-12 14:57 GMT+01:00 Adrian Reber <areber@redhat.com>:
> >> >> On Mon, Apr 09, 2018 at 05:46:29PM +0100, Dmitry Safonov wrote:
> >> >>> > ppc64le:
> >> >>> >
> >> >>> > ################### 3 TEST(S) FAILED (TOTAL 353/SKIPPED 35) ####################
> >> >>> >  * zdtm/static/aio00(h)
> >> >>> >  * zdtm/static/aio01(h)
> >> >>> >  * zdtm/static/maps06(h)
> >> >>> > ##################################### FAIL #####################################
> >> >>>
> >> >>> Are these regressions? Were they failing before the patches set?
> >> >>
> >> >> Without your patches only zdtm/static/maps06 fails. So the aio0?
> >> >> failures can be related to your patches. And maps06 is one of the test
> >> >> cases you identified as hard coding 4096.
> >> >
> >> > Sure, I'll look into the fails..
> >>
> >> Hi Adrian,
> >>
> >> Could you send me your aarch64 kernel's .config?
> >> I've tried to reproduce aio00/aio01 failure with 4K/16K/64K pages
> >> on qemu-system-aarch64, but no luck, tests are passing in (h) :-/
> >
> > My kernel config must have been pretty close to that:
> >
> > https://git.centos.org/blob/rpms!kernel-alt.git/4c79b75ab8381328e6ea3712b3430fe6699412e6/SOURCES!kernel-alt-4.14.0-aarch64.config
> 
> Heh, I've tried to reproduce this with that config (enabling every config option
> also mentioned https://criu.org/Linux_kernel ), with mainline v4.16 kernel, but
> still aio* tests passes in qemu-system-aarch64 =/
> 
> Could you run the test with inserted printing?:
> --->8---
> --- a/criu/pie/restorer.c
> +++ b/criu/pie/restorer.c
> @@ -700,6 +700,7 @@ static int restore_aio_ring(struct rst_aio_ring *raio)
>         ret = sys_io_setup(raio->nr_req, &ctx);
>         if (ret < 0) {
>                 pr_err("Ring setup failed with %d\n", ret);
> +               pr_err("nr_req=%u\n", raio->nr_req);
>                 return -1;
>         }

ppc64le:

========================== Run zdtm/static/aio00 in h ==========================
Start test
./aio00 --pidfile=aio00.pid --outfile=aio00.out
Run criu dump
Run criu restore
=[log]=> dump/zdtm/static/aio00/48/1/restore.log
------------------------ grep Error ------------------------
(00.028135)pie: 48: vdso: image [vdso] 0x7fffbdbd0000-0x7fffbdbf0000 [vvar] 0>
(00.028135)pie: 48: xffffffffffffffff-0xffffffffffffffff
(00.028147)pie: 48: vdso: Runtime vdso/vvar matches dumpee, remap inplace
(00.028156)pie: 48: vdso: Remap rt-vdso 0x80000 -> 0x7fffbdbd0000
(00.028195)pie: 48: Error (criu/pie/restorer.c:702): Ring setup failed with ->
(00.028195)pie: 48: 22
(00.028195)pie: 48: 22
(00.028205)pie: 48: Error (criu/pie/restorer.c:703): nr_req=UNKNOWN FORMAT u
>
(00.028213)pie: 48: Error (criu/pie/restorer.c:1782): Restorer fail 48
(00.028591) Error (criu/namespaces.c:1604): Spurious pid ns helper: pid=48
(00.028602) Error (criu/cr-restore.c:1583): 48 exited, status=1
(00.028611) Error (criu/cr-restore.c:2346): Failed to wait inprogress tasks
(00.028621) Error (criu/cr-restore.c:2523): Restoring FAILED.
------------------------ ERROR OVER ------------------------


========================== Run zdtm/static/aio01 in h ==========================
Start test
./aio01 --pidfile=aio01.pid --outfile=aio01.out
Run criu dump
Run criu restore
=[log]=> dump/zdtm/static/aio01/48/1/restore.log
------------------------ grep Error ------------------------
(00.028136)pie: 48: vdso: image [vdso] 0x7fff8fac0000-0x7fff8fae0000 [vvar] 0>
(00.028136)pie: 48: xffffffffffffffff-0xffffffffffffffff
(00.028146)pie: 48: vdso: Runtime vdso/vvar matches dumpee, remap inplace
(00.028156)pie: 48: vdso: Remap rt-vdso 0x80000 -> 0x7fff8fac0000
(00.028191)pie: 48: Error (criu/pie/restorer.c:702): Ring setup failed with ->
(00.028191)pie: 48: 22
(00.028191)pie: 48: 22
(00.028200)pie: 48: Error (criu/pie/restorer.c:703): nr_req=UNKNOWN FORMAT u
>
(00.028211)pie: 48: Error (criu/pie/restorer.c:1782): Restorer fail 48
(00.028587) Error (criu/namespaces.c:1604): Spurious pid ns helper: pid=48
(00.028600) Error (criu/cr-restore.c:1583): 48 exited, status=1
(00.028609) Error (criu/cr-restore.c:2346): Failed to wait inprogress tasks
(00.028619) Error (criu/cr-restore.c:2523): Restoring FAILED.
------------------------ ERROR OVER ------------------------
################# Test zdtm/static/aio01 FAIL at CRIU restore ##################

aarch64:

========================== Run zdtm/static/aio00 in h ==========================
Start test
./aio00 --pidfile=aio00.pid --outfile=aio00.out
Run criu dump
Run criu restore
=[log]=> dump/zdtm/static/aio00/36/1/restore.log
------------------------ grep Error ------------------------
(00.058881)pie: 36: xffff9cd30000-0xffff9cd40000
(00.058893)pie: 36: vdso: Runtime vdso/vvar matches dumpee, remap inplace
(00.058918)pie: 36: vdso: Remap rt-vdso 0x90000 -> 0xffff9cd40000
(00.058935)pie: 36: vdso: Remap rt-vvar 0x80000 -> 0xffff9cd30000
(00.058979)pie: 36: Error (criu/pie/restorer.c:702): Ring setup failed with ->
(00.058979)pie: 36: 22
(00.058979)pie: 36: 22
(00.058993)pie: 36: Error (criu/pie/restorer.c:703): nr_req=UNKNOWN FORMAT u
>
(00.059010)pie: 36: Error (criu/pie/restorer.c:1782): Restorer fail 36
(00.059019) Error (criu/cr-restore.c:2346): Failed to wait inprogress tasks
(00.059065) Error (criu/cr-restore.c:2523): Restoring FAILED.
------------------------ ERROR OVER ------------------------
################# Test zdtm/static/aio00 FAIL at CRIU restore ##################

========================== Run zdtm/static/aio01 in h ==========================
Start test
./aio01 --pidfile=aio01.pid --outfile=aio01.out
Run criu dump
Run criu restore
=[log]=> dump/zdtm/static/aio01/36/1/restore.log
------------------------ grep Error ------------------------
(00.058784)pie: 36: xffffbbd60000-0xffffbbd70000
(00.058796)pie: 36: vdso: Runtime vdso/vvar matches dumpee, remap inplace
(00.058821)pie: 36: vdso: Remap rt-vdso 0x90000 -> 0xffffbbd70000
(00.058837)pie: 36: vdso: Remap rt-vvar 0x80000 -> 0xffffbbd60000
(00.058877)pie: 36: Error (criu/pie/restorer.c:702): Ring setup failed with ->
(00.058877)pie: 36: 22
(00.058877)pie: 36: 22
(00.058902)pie: 36: Error (criu/pie/restorer.c:703): nr_req=UNKNOWN FORMAT u
>
(00.058919)pie: 36: Error (criu/pie/restorer.c:1782): Restorer fail 36
(00.058925) Error (criu/cr-restore.c:2346): Failed to wait inprogress tasks
(00.058975) Error (criu/cr-restore.c:2523): Restoring FAILED.
------------------------ ERROR OVER ------------------------
################# Test zdtm/static/aio01 FAIL at CRIU restore ##################


Same return code for both architectures.

		Adrian