Le 29/04/2026 à 13:45, Erhard Furtner a écrit :
> Greetings!
> 
> Getting this on my G4 DP on kernel v7.0.2 and v7.1-rc1 via 'modprobe -v 
> kunit_iov_iter':
> 
> [...]
> KTAP version 1
>   1..1
>       KTAP version 1
>       # Subtest: iov_iter
>       # module: kunit_iov_iter
>       1..12
>       # iov_kunit_copy_to_kvec: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 1 iov_kunit_copy_to_kvec

This happens in alloc_pages_bulk_noprof(), due to

        pcp = pcp_spin_trylock(zone->per_cpu_pageset);
        if (!pcp)
                goto failed;

Because:

#ifdef CONFIG_SMP
[...]
/*
  * On CONFIG_SMP=n the UP implementation of spin_trylock() never fails 
and thus
  * is not compatible with our locking scheme. However we do not need 
pcp for
  * scalability in the first place, so just make all the trylocks fail 
and take
  * the slow path unconditionally.
  */
#else
#define pcp_spin_trylock(ptr)           \
                NULL


So apparently it is expected that alloc_pages_bulk() returns 1 on non-SMP.

Christophe

>       # iov_kunit_copy_from_kvec: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 2 iov_kunit_copy_from_kvec
>       # iov_kunit_copy_to_bvec: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 3 iov_kunit_copy_to_bvec
>       # iov_kunit_copy_from_bvec: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 4 iov_kunit_copy_from_bvec
>       # iov_kunit_copy_to_folioq: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 5 iov_kunit_copy_to_folioq
>       # iov_kunit_copy_from_folioq: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 6 iov_kunit_copy_from_folioq
>       # iov_kunit_copy_to_xarray: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 7 iov_kunit_copy_to_xarray
>       # iov_kunit_copy_from_xarray: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 8 iov_kunit_copy_from_xarray
>       # iov_kunit_extract_pages_kvec: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 9 iov_kunit_extract_pages_kvec
>       # iov_kunit_extract_pages_bvec: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 10 iov_kunit_extract_pages_bvec
>       # iov_kunit_extract_pages_folioq: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 11 iov_kunit_extract_pages_folioq
>       # iov_kunit_extract_pages_xarray: ASSERTION FAILED at lib/tests/ 
> kunit_iov_iter.c:63
>       Expected got == npages, but
>           got == 1 (0x1)
>           npages == 256 (0x100)
>       not ok 12 iov_kunit_extract_pages_xarray
>   # iov_iter: pass:0 fail:12 skip:0 total:12
>   # Totals: pass:0 fail:12 skip:0 total:12
>   not ok 1 iov_iter
> 
> 
> Suppose this may be a ppc/BE specific test failure as I don't get it on 
> my Thinkpad T60 (x86).
> 
> Full dmesg and kernel .config available on request.
> 
> Greetings,
> Erhard
> 

Reply via email to