PFNs busy flood during vchiq_test

Stefan Wahren stefan.wahren at i2se.com
Sun Aug 27 05:09:54 PDT 2017


Hi Eric,

after fixing the HIGHMEM issue [1] in vchiq driver, i wanted to test vchiq_test on RPI3 64-bit (4.13rc6).

The program works, but after some iterations i got a lot of PFN busy messages from the kernel.
I've seen you already had this problem with vc4. Is there a solution for this?

Stefan

[1] - https://github.com/raspberrypi/linux/issues/1996

[root at alarm alarm]# ./vchiq_test -f 100
Functional test - iters:100
======== iteration 1 ========
Testing bulk transfer for alignment.
Testing bulk transfer at PAGE_SIZE.
======== iteration 2 ========
Testing bulk transfer for alignment.
Testing bulk transfer at PAGE_SIZE.
======== iteration 3 ========
Testing bulk transfer for alignment.
Testing bulk transfer at PAGE_SIZE.
======== iteration 4 ========
Testing bulk transfer for alignment.
[ 1216.995121] alloc_contig_range: 7453 callbacks suppressed
[ 1217.016841] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.038693] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.060526] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.082191] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.104020] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.125697] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.147569] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.169336] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.191242] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1217.213001] alloc_contig_range: [3a042, 3a043) PFNs busy
Testing bulk transfer at PAGE_SIZE.
======== iteration 5 ========
Testing bulk transfer for alignment.
[ 1222.018537] alloc_contig_range: 11716 callbacks suppressed
[ 1222.040595] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.062635] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.084306] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.106205] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.127979] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.149871] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.171639] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.193499] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.215251] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1222.237130] alloc_contig_range: [3a042, 3a043) PFNs busy
Testing bulk transfer at PAGE_SIZE.
======== iteration 6 ========
Testing bulk transfer for alignment.
[ 1227.042545] alloc_contig_range: 11750 callbacks suppressed
[ 1227.064599] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.086495] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.108385] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.130051] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.151913] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.173607] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.195444] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.217132] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.238985] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1227.260676] alloc_contig_range: [3a042, 3a043) PFNs busy
Testing bulk transfer at PAGE_SIZE.
======== iteration 7 ========
Testing bulk transfer for alignment.
Testing bulk transfer at PAGE_SIZE.
[ 1232.066550] alloc_contig_range: 11816 callbacks suppressed
[ 1232.088606] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.110518] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.132181] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.154254] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.176080] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.198014] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.219710] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.241552] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.263239] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1232.285074] alloc_contig_range: [3a042, 3a043) PFNs busy
======== iteration 8 ========
Testing bulk transfer for alignment.
Testing bulk transfer at PAGE_SIZE.
[ 1237.090410] alloc_contig_range: 11623 callbacks suppressed
[ 1237.112463] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.134330] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.156062] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.178713] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.200665] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.222957] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.244696] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.266574] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.288257] alloc_contig_range: [3a042, 3a043) PFNs busy
[ 1237.310147] alloc_contig_range: [3a042, 3a043) PFNs busy



More information about the linux-rpi-kernel mailing list