I have a workaround for this:

    UBUNTU: SAUCE: riscv: Disable VMAP_STACK since it fails with efi
    
    When VMAP_STACK is enabled, kernel threads have their stacks in the vmalloc
    region.
    
    So when The kworker responsible for handling efi work queue (efi_call_rts) 
calls
    efi_virtmap_load and then switch_mm, if the stack of the worker is in a 
vmalloc
    area not yet synchronized with efi_mm (since RISC-V lazily populates vmalloc
    area), an attempt to access this stack will trigger a fault which can't be
    resolved since when trying to save the context, a new trap will be 
triggered and
    so on.
    
    So disable VMAP_STACK for now until we figure out the correct fix.

And I'm working on the proper fix which consists in synchronizing the
efi page table with the page table of the calling thread before
switching to efi mm.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-riscv in Ubuntu.
https://bugs.launchpad.net/bugs/1967130

Title:
  rcu_sched detected stalls on CPUs/tasks

Status in linux-riscv package in Ubuntu:
  New

Bug description:
  When running the riscv64 live installer
  (https://cdimage.ubuntu.com/ubuntu-server/daily-live/20220330/jammy-
  live-server-riscv64.iso) on the SiFive Unmatched board we reproducibly
  see rcu_sched stalls related to accessing the UEFI runtime:

  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451647] rcu: INFO: rcu_sched 
detected stalls on CPUs/tasks:
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451673] rcu:       3-...0: (3 
GPs behind) idle=d03/1/0x4000000000000000 softirq=85648/85648 fqs=7326 
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451698]    (detected by 0, 
t=15002 jiffies, g=155853, q=1286)
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451712] Task dump for CPU 3:
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451720] task:kworker/u8:1    
state:R  running task     stack:    0 pid: 3715 ppid:     2 flags:0x00000008
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451750] Workqueue: efi_rts_wq 
efi_call_rts
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451777] Call Trace:
  Mar 30 11:50:47 ubuntu-server kernel: [ 1313.451782] [<ffffffff809be1b6>] 
__schedule+0x226/0x644

  uname -a:
  Linux ubuntu-server 5.15.0-1004-generic #4-Ubuntu SMP Wed Feb 9 18:17:33 UTC 
2022 riscv64 riscv64 riscv64 GNU/Linux
  --- 
  ProblemType: Bug
  Architecture: riscv64
  DistroRelease: Ubuntu 22.04
  Package: linux-image-generic 5.15.0.1004.4
  PackageArchitecture: riscv64
  ProcEnviron:
   TERM=vt220
   PATH=(custom, no user)
   LANG=C.UTF-8
  Uname: Linux 5.15.0-1004-generic riscv64
  UserGroups: N/A
  _MarkForUpload: True

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-riscv/+bug/1967130/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to