[PATCH v7 2/2] mm, netfs, fscache: Stop read optimisation when folio removed from pagecache

David Wysochanski dwysocha at redhat.com
Mon Jul 17 22:43:50 AEST 2023


On Mon, Jul 17, 2023 at 3:35 AM kernel test robot <oliver.sang at intel.com> wrote:
>
>
>
> Hello,
>
> kernel test robot noticed "canonical_address#:#[##]" on:
>
> commit: 830503440449014dcf0e4b0b6d905a1b0b2c92ad ("[PATCH v7 2/2] mm, netfs, fscache: Stop read optimisation when folio removed from pagecache")
> url: https://github.com/intel-lab-lkp/linux/commits/David-Howells/mm-Merge-folio_has_private-filemap_release_folio-call-pairs/20230628-185100
> base: https://git.kernel.org/cgit/linux/kernel/git/akpm/mm.git mm-everything
> patch link: https://lore.kernel.org/all/20230628104852.3391651-3-dhowells@redhat.com/
> patch subject: [PATCH v7 2/2] mm, netfs, fscache: Stop read optimisation when folio removed from pagecache
>
> in testcase: vm-scalability
> version: vm-scalability-x86_64-1.0-0_20220518
> with following parameters:
>
>         runtime: 300
>         thp_enabled: always
>         thp_defrag: always
>         nr_task: 32
>         nr_ssd: 1
>         priority: 1
>         test: swap-w-rand
>         cpufreq_governor: performance
>
> test-description: The motivation behind this suite is to exercise functions and regions of the mm/ of the Linux kernel which are of interest to us.
> test-url: https://git.kernel.org/cgit/linux/kernel/git/wfg/vm-scalability.git/
>
>
> compiler: gcc-12
> test machine: 128 threads 2 sockets Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz (Ice Lake) with 128G memory
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <oliver.sang at intel.com>
> | Closes: https://lore.kernel.org/oe-lkp/202307171548.7ab20146-oliver.sang@intel.com
>

This has already been fixed with
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?h=mm-everything&id=af18573471db5c5c9b96ec95208c340ae7c00e64


>
> [   45.898720][ T1453]
> [   45.907480][ T1453] 2023-07-16 00:36:07  ./case-swap-w-rand
> [   45.907481][ T1453]
> [   45.917873][ T1453] 2023-07-16 00:36:07  ./usemem --runtime 300 -n 32 --random 8048142432
> [   45.917876][ T1453]
> [   47.348632][  T973] general protection fault, probably for non-canonical address 0xf8ff1100207778e6: 0000 [#1] SMP NOPTI
> [   47.359787][  T973] CPU: 123 PID: 973 Comm: kswapd1 Tainted: G S                 6.4.0-rc4-00533-g830503440449 #3
> [   47.370301][  T973] Hardware name: Intel Corporation M50CYP2SB1U/M50CYP2SB1U, BIOS SE5C620.86B.01.01.0003.2104260124 04/26/2021
> [ 47.382201][ T973] RIP: 0010:filemap_release_folio (kbuild/src/x86_64/mm/filemap.c:4063 (discriminator 1))
> [ 47.388172][ T973] Code: 00 48 8b 07 48 8b 57 18 83 e0 01 74 4f 48 f7 07 00 60 00 00 74 22 48 8b 07 f6 c4 80 75 32 48 85 d2 74 34 48 8b 82 90 00 00 00 <48> 8b 40 48 48 85 c0 74 24 ff e0 cc 66 90 48 85 d2 74 15 48 8b 8a
> All code
> ========
>    0:   00 48 8b                add    %cl,-0x75(%rax)
>    3:   07                      (bad)
>    4:   48 8b 57 18             mov    0x18(%rdi),%rdx
>    8:   83 e0 01                and    $0x1,%eax
>    b:   74 4f                   je     0x5c
>    d:   48 f7 07 00 60 00 00    testq  $0x6000,(%rdi)
>   14:   74 22                   je     0x38
>   16:   48 8b 07                mov    (%rdi),%rax
>   19:   f6 c4 80                test   $0x80,%ah
>   1c:   75 32                   jne    0x50
>   1e:   48 85 d2                test   %rdx,%rdx
>   21:   74 34                   je     0x57
>   23:   48 8b 82 90 00 00 00    mov    0x90(%rdx),%rax
>   2a:*  48 8b 40 48             mov    0x48(%rax),%rax          <-- trapping instruction
>   2e:   48 85 c0                test   %rax,%rax
>   31:   74 24                   je     0x57
>   33:   ff e0                   jmpq   *%rax
>   35:   cc                      int3
>   36:   66 90                   xchg   %ax,%ax
>   38:   48 85 d2                test   %rdx,%rdx
>   3b:   74 15                   je     0x52
>   3d:   48                      rex.W
>   3e:   8b                      .byte 0x8b
>   3f:   8a                      .byte 0x8a
>
> Code starting with the faulting instruction
> ===========================================
>    0:   48 8b 40 48             mov    0x48(%rax),%rax
>    4:   48 85 c0                test   %rax,%rax
>    7:   74 24                   je     0x2d
>    9:   ff e0                   jmpq   *%rax
>    b:   cc                      int3
>    c:   66 90                   xchg   %ax,%ax
>    e:   48 85 d2                test   %rdx,%rdx
>   11:   74 15                   je     0x28
>   13:   48                      rex.W
>   14:   8b                      .byte 0x8b
>   15:   8a                      .byte 0x8a
> [   47.408103][  T973] RSP: 0018:ffa00000094f7b28 EFLAGS: 00010246
> [   47.414266][  T973] RAX: f8ff11002077789e RBX: ffa00000094f7c08 RCX: 98ff110020777898
> [   47.422337][  T973] RDX: ff11002077788f71 RSI: 0000000000000cc0 RDI: ffd4000042870d00
> [   47.430417][  T973] RBP: ffa00000094f7b98 R08: ff110001ba106300 R09: 0000000000000028
> [   47.438497][  T973] R10: ff110010846bd080 R11: ff1100207ffd4000 R12: ffd4000042870d00
> [   47.446575][  T973] R13: ffa00000094f7e10 R14: ffa00000094f7c1c R15: ffd4000042870d08
> [   47.454658][  T973] FS:  0000000000000000(0000) GS:ff110020046c0000(0000) knlGS:0000000000000000
> [   47.463703][  T973] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   47.470406][  T973] CR2: 00007fddcaf308f8 CR3: 00000001e1a82003 CR4: 0000000000771ee0
> [   47.478496][  T973] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [   47.486594][  T973] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> [   47.494696][  T973] PKRU: 55555554
> [   47.498372][  T973] Call Trace:
> [   47.501795][  T973]  <TASK>
> [ 47.504870][ T973] ? die_addr (kbuild/src/x86_64/arch/x86/kernel/dumpstack.c:421 kbuild/src/x86_64/arch/x86/kernel/dumpstack.c:460)
> [ 47.509153][ T973] ? exc_general_protection (kbuild/src/x86_64/arch/x86/kernel/traps.c:783 kbuild/src/x86_64/arch/x86/kernel/traps.c:728)
> [ 47.514826][ T973] ? asm_exc_general_protection (kbuild/src/x86_64/arch/x86/include/asm/idtentry.h:564)
> [ 47.520679][ T973] ? filemap_release_folio (kbuild/src/x86_64/mm/filemap.c:4063 (discriminator 1))
>
>
> To reproduce:
>
>         git clone https://github.com/intel/lkp-tests.git
>         cd lkp-tests
>         sudo bin/lkp install job.yaml           # job file is attached in this email
>         bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
>         sudo bin/lkp run generated-yaml-file
>
>         # if come across any failure that blocks the test,
>         # please remove ~/.lkp and /lkp dir to run from a clean state.
>
>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
>



More information about the Linux-erofs mailing list