Re: [vfs-next] RCU call-traces (task: modprobe)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 9, 2022 at 4:14 PM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
>
> On Tue, Aug 09, 2022 at 11:19:00AM +0200, Sedat Dilek wrote:
> > On Tue, Aug 9, 2022 at 11:06 AM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> > >
> > > On Mon, Aug 8, 2022 at 3:43 PM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
> > > >
> > > > On Sun, Aug 07, 2022 at 08:56:25AM +0200, Greg KH wrote:
> > > > > On Sat, Aug 06, 2022 at 09:32:47AM -0700, Paul E. McKenney wrote:
> > > > > > On Sat, Aug 06, 2022 at 08:31:26AM +0200, Sedat Dilek wrote:
> > > > > > > Hi Al and Paul,
> > > > > > >
> > > > > > > I pulled latest vfs-next on top of Linux v5.19 and see this in dmesg-logs:
> > > > > > >
> > > > > > > root# LC_ALL=C dmesg -T | egrep -B5 -A15 'Call Trace:'
> > > > > > > [Sat Aug  6 06:51:15 2022] Bluetooth: SCO socket layer initialized
> > > > > > > [Sat Aug  6 06:51:15 2022] rcu: INFO: rcu_preempt detected expedited
> > > > > > > stalls on CPUs/tasks: { 0-... } 6 jiffies s: 101 root: 0x1/.
> > > > > >
> > > > > > This is because of the CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=20 in your
> > > > > > .config file.  This is selected in kernels built with CONFIG_ANDROID=y,
> > > > > > and results in an ultra-short 20-millisecond RCU CPU stall timeout for
> > > > > > expedited grace periods.  Yes, the Android guys want and are getting
> > > > > > milliseconds-scale response times from synchronize_rcu_expedited().
> > > > > >
> > > > > > The last time someone ran into this, the upshot was that CONFIG_ANDROID
> > > > > > was to be removed: https://lwn.net/Articles/899743/
> > > > > >
> > > > > > My guess is that the CONFIG_ANDROID-removal patches are still on their way
> > > > > > into mainline (they are in -next), but I added Greg KH and Christoph on CC
> > > > > > just in case some other issue arose.
> > > > >
> > > > > Not that I know of, those changes are all now in Linus's tree.
> > > >
> > > > And now that I do another pull, I do see them, thank you!
> > > >
> > > > So Sedat and Ben can just merge current mainline and be fine.
> > > >
> > >
> > > For the records:
> > >
> > > commit 1045a06724f322ed61f1ffb994427c7bdbe64647
> > > "remove CONFIG_ANDROID"
> > >
> > > diff --git a/kernel/rcu/Kconfig.debug b/kernel/rcu/Kconfig.debug
> > > index 9b64e55d4f615..e875f4f889656 100644
> > > --- a/kernel/rcu/Kconfig.debug
> > > +++ b/kernel/rcu/Kconfig.debug
> > > @@ -86,8 +86,7 @@ config RCU_EXP_CPU_STALL_TIMEOUT
> > >   int "Expedited RCU CPU stall timeout in milliseconds"
> > >   depends on RCU_STALL_COMMON
> > >   range 0 21000
> > > - default 20 if ANDROID
> > > - default 0 if !ANDROID
> > > + default 0
> > >   help
> > >     If a given expedited RCU grace period extends more than the
> > >     specified number of milliseconds, a CPU stall warning is printed.
> > >
> > > -Sedat-
> > >
> > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1045a06724f322ed61f1ffb994427c7bdbe64647
> >
> > Hmm, with latest Debian-kernel I see the same call-trace as reported:
> >
> > root# grep -B5 -A15 'Call Trace:' dmesg-T_5.19.0-trunk-amd64.txt
> > 836-[Tue Aug  9 10:56:52 2022] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
> > 837-[Tue Aug  9 10:56:52 2022] rcu: INFO: rcu_preempt detected
> > expedited stalls on CPUs/tasks: { 2-... } 6 jiffies s: 213 root: 0x4/.
>
> Given only 6 jiffies (then 25, then 44, and so on), this kernel still
> has ANDROID, and thus CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=20, correct?
>
> Or are we seeing some other bug here?
>

This Debian-kernel has CONFIG_ANDROID=y.
No new bugs - just a confirmation.

-Sedat-

>                                                         Thanx, Paul
>
> > 838-[Tue Aug  9 10:56:52 2022] rcu: blocking rcu_node structures
> > (internal RCU debug):
> > 839-[Tue Aug  9 10:56:52 2022] Task dump for CPU 2:
> > 840-[Tue Aug  9 10:56:52 2022] task:systemd-udevd   state:R  running
> > task     stack:    0 pid:  347 ppid:   303 flags:0x00004008
> > 841:[Tue Aug  9 10:56:52 2022] Call Trace:
> > 842-[Tue Aug  9 10:56:52 2022]  <TASK>
> > 843-[Tue Aug  9 10:56:52 2022]  ? change_page_attr_set_clr+0x155/0x1c0
> > 844-[Tue Aug  9 10:56:52 2022]  ? ftrace_module_enable+0xad/0x370
> > 845-[Tue Aug  9 10:56:52 2022]  ? load_module+0x1bbc/0x2050
> > 846-[Tue Aug  9 10:56:52 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 847-[Tue Aug  9 10:56:52 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 848-[Tue Aug  9 10:56:52 2022]  ? do_syscall_64+0x3b/0xc0
> > 849-[Tue Aug  9 10:56:52 2022]  ? entry_SYSCALL_64_after_hwframe+0x63/0xcd
> > 850-[Tue Aug  9 10:56:52 2022]  </TASK>
> > 851-[Tue Aug  9 10:56:52 2022] rcu: INFO: rcu_preempt detected
> > expedited stalls on CPUs/tasks: { 2-... } 25 jiffies s: 213 root:
> > 0x4/.
> > 852-[Tue Aug  9 10:56:52 2022] rcu: blocking rcu_node structures
> > (internal RCU debug):
> > 853-[Tue Aug  9 10:56:52 2022] Task dump for CPU 2:
> > 854-[Tue Aug  9 10:56:52 2022] task:systemd-udevd   state:R  running
> > task     stack:    0 pid:  347 ppid:   303 flags:0x00004008
> > 855:[Tue Aug  9 10:56:52 2022] Call Trace:
> > 856-[Tue Aug  9 10:56:52 2022]  <TASK>
> > 857-[Tue Aug  9 10:56:52 2022]  ? change_page_attr_set_clr+0x155/0x1c0
> > 858-[Tue Aug  9 10:56:52 2022]  ? ftrace_module_enable+0xad/0x370
> > 859-[Tue Aug  9 10:56:52 2022]  ? load_module+0x1bbc/0x2050
> > 860-[Tue Aug  9 10:56:52 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 861-[Tue Aug  9 10:56:52 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 862-[Tue Aug  9 10:56:52 2022]  ? do_syscall_64+0x3b/0xc0
> > 863-[Tue Aug  9 10:56:52 2022]  ? entry_SYSCALL_64_after_hwframe+0x63/0xcd
> > 864-[Tue Aug  9 10:56:52 2022]  </TASK>
> > 865-[Tue Aug  9 10:56:53 2022] rcu: INFO: rcu_preempt detected
> > expedited stalls on CPUs/tasks: { 2-... } 44 jiffies s: 213 root:
> > 0x4/.
> > 866-[Tue Aug  9 10:56:53 2022] rcu: blocking rcu_node structures
> > (internal RCU debug):
> > 867-[Tue Aug  9 10:56:53 2022] Task dump for CPU 2:
> > 868-[Tue Aug  9 10:56:53 2022] task:systemd-udevd   state:R  running
> > task     stack:    0 pid:  347 ppid:   303 flags:0x00004008
> > 869:[Tue Aug  9 10:56:53 2022] Call Trace:
> > 870-[Tue Aug  9 10:56:53 2022]  <TASK>
> > 871-[Tue Aug  9 10:56:53 2022]  ? change_page_attr_set_clr+0x155/0x1c0
> > 872-[Tue Aug  9 10:56:53 2022]  ? ftrace_module_enable+0xad/0x370
> > 873-[Tue Aug  9 10:56:53 2022]  ? load_module+0x1bbc/0x2050
> > 874-[Tue Aug  9 10:56:53 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 875-[Tue Aug  9 10:56:53 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 876-[Tue Aug  9 10:56:53 2022]  ? do_syscall_64+0x3b/0xc0
> > 877-[Tue Aug  9 10:56:53 2022]  ? entry_SYSCALL_64_after_hwframe+0x63/0xcd
> > 878-[Tue Aug  9 10:56:53 2022]  </TASK>
> > 879-[Tue Aug  9 10:56:53 2022] rcu: INFO: rcu_preempt detected
> > expedited stalls on CPUs/tasks: { 2-... } 63 jiffies s: 213 root:
> > 0x4/.
> > 880-[Tue Aug  9 10:56:53 2022] rcu: blocking rcu_node structures
> > (internal RCU debug):
> > 881-[Tue Aug  9 10:56:53 2022] Task dump for CPU 2:
> > 882-[Tue Aug  9 10:56:53 2022] task:systemd-udevd   state:R  running
> > task     stack:    0 pid:  347 ppid:   303 flags:0x00004008
> > 883:[Tue Aug  9 10:56:53 2022] Call Trace:
> > 884-[Tue Aug  9 10:56:53 2022]  <TASK>
> > 885-[Tue Aug  9 10:56:53 2022]  ? change_page_attr_set_clr+0x155/0x1c0
> > 886-[Tue Aug  9 10:56:53 2022]  ? ftrace_module_enable+0xad/0x370
> > 887-[Tue Aug  9 10:56:53 2022]  ? load_module+0x1bbc/0x2050
> > 888-[Tue Aug  9 10:56:53 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 889-[Tue Aug  9 10:56:53 2022]  ? __do_sys_finit_module+0xb4/0x130
> > 890-[Tue Aug  9 10:56:53 2022]  ? do_syscall_64+0x3b/0xc0
> > 891-[Tue Aug  9 10:56:53 2022]  ? entry_SYSCALL_64_after_hwframe+0x63/0xcd
> > 892-[Tue Aug  9 10:56:53 2022]  </TASK>
> > 893-[Tue Aug  9 10:56:53 2022] zram0: detected capacity change from 0 to 1004656
> > 894-[Tue Aug  9 10:56:53 2022] i915 0000:00:02.0: vgaarb: deactivate vga console
> > 895-[Tue Aug  9 10:56:53 2022] Console: switching to colour dummy device 80x25
> > 896-[Tue Aug  9 10:56:53 2022] i915 0000:00:02.0: vgaarb: changed VGA
> > decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
> > 897-[Tue Aug  9 10:56:53 2022] [drm] Initialized i915 1.6.0 20201103
> > for 0000:00:02.0 on minor 0
> > 898-[Tue Aug  9 10:56:53 2022] ACPI: video: Video Device [GFX0]
> > (multi-head: yes  rom: no  post: no)
> >
> > Just see Ben integrated [1]:
> >
> > android: Remove CONFIG_ANDROID
> > - Drop "wireguard: Clear keys after suspend despite CONFIG_ANDROID=y"
> > - pm/sleep: Add PM_USERSPACE_AUTOSLEEP Kconfig
> > - remove CONFIG_ANDROID
> > - Enable/disable ANDROID_BINDER_IPC to match previous configuration
> >
> > This fixes two more cases where kernel behaviour was changed by
> > CONFIG_ANDROID.
> >
> > -Sedat-
> >
> > [1] https://salsa.debian.org/kernel-team/linux/-/commit/78fcd943947d24bb162fcebf1a9ca86795e1b2b1



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux