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