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

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

 



On Wed, Aug 10, 2022 at 08:07:15AM +0200, Sedat Dilek wrote:
> 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.

Very good, and thank you for the confirmation!

							Thanx, Paul

> -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