From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8360BC2D0E4 for ; Thu, 12 Nov 2020 21:26:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 38455216C4 for ; Thu, 12 Nov 2020 21:26:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727384AbgKLV0o (ORCPT ); Thu, 12 Nov 2020 16:26:44 -0500 Received: from foss.arm.com ([217.140.110.172]:57394 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726960AbgKLV0j (ORCPT ); Thu, 12 Nov 2020 16:26:39 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 637E1142F; Thu, 12 Nov 2020 13:26:38 -0800 (PST) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2EBE03F73C; Thu, 12 Nov 2020 13:26:36 -0800 (PST) References: <20201023101158.088940906@infradead.org> <20201023102346.921768277@infradead.org> <8b62fd1ad1b18def27f18e2ee2df3ff5b36d0762.camel@redhat.com> <13786aa5a5fc958708ef1182c885d1a574449d99.camel@redhat.com> <371cfc80a1ecaa526a774efbe36369cc66b4ae69.camel@redhat.com> User-agent: mu4e 0.9.17; emacs 26.3 From: Valentin Schneider To: Qian Cai Cc: Peter Zijlstra , tglx@linutronix.de, mingo@kernel.org, linux-kernel@vger.kernel.org, bigeasy@linutronix.de, qais.yousef@arm.com, swood@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vincent.donnefort@arm.com, tj@kernel.org, ouwen210@hotmail.com Subject: Re: [PATCH v4 10/19] sched: Fix migrate_disable() vs set_cpus_allowed_ptr() In-reply-to: <371cfc80a1ecaa526a774efbe36369cc66b4ae69.camel@redhat.com> Date: Thu, 12 Nov 2020 21:26:33 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/11/20 20:37, Qian Cai wrote: > On Thu, 2020-11-12 at 19:31 +0000, Valentin Schneider wrote: >> a) Do you also get this on CONFIG_PREEMPT=y? > > This also happens with: > > CONFIG_PREEMPT=y > CONFIG_PREEMPTION=y > CONFIG_PREEMPT_RCU=y > CONFIG_PREEMPT_NOTIFIERS=y > CONFIG_DEBUG_PREEMPT=y > CONFIG_PREEMPTIRQ_TRACEPOINTS=y > Hmph, it should be much less likely to happen with PREEMPT=y, but isn't per se impossible. Thanks for giving it a shot. > [ 1235.044945][ T330] INFO: task trinity-c4:60050 blocked for more than 245 seconds. > [ 1235.052540][ T330] Not tainted 5.10.0-rc3-next-20201112+ #2 > [ 1235.058774][ T330] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > [ 1235.067392][ T330] task:trinity-c4 state:D stack:26880 pid:60050 ppid: 1722 flags:0x00004000 > [ 1235.076505][ T330] Call Trace: > [ 1235.079680][ T330] __schedule (kernel/sched/core.c:4272 kernel/sched/core.c:5019) > [ 1235.083971][ T330] ? __sched_text_start (kernel/sched/core.c:4901) > [ 1235.088721][ T330] schedule (kernel/sched/core.c:5099 (discriminator 1)) > [ 1235.092661][ T330] schedule_timeout (kernel/time/timer.c:1848) > [ 1235.097399][ T330] ? usleep_range (kernel/time/timer.c:1833) > [ 1235.101945][ T330] ? wait_for_completion (kernel/sched/completion.c:85 kernel/sched/completion.c:106 kernel/sched/completion.c:117 kernel/sched/completion.c:138) > [ 1235.107156][ T330] ? lock_downgrade (kernel/locking/lockdep.c:5443) > [ 1235.111883][ T330] ? rcu_read_unlock (./include/linux/rcupdate.h:692 (discriminator 5)) > [ 1235.116561][ T330] ? do_raw_spin_lock (./arch/x86/include/asm/atomic.h:202 ./include/asm-generic/atomic-instrumented.h:707 ./include/asm-generic/qspinlock.h:82 kernel/locking/spinlock_debug.c:113) > [ 1235.121459][ T330] ? _raw_spin_unlock_irq (./arch/x86/include/asm/irqflags.h:54 ./arch/x86/include/asm/irqflags.h:94 ./include/linux/spinlock_api_smp.h:168 kernel/locking/spinlock.c:199) > [ 1235.126601][ T330] wait_for_completion (kernel/sched/completion.c:86 kernel/sched/completion.c:106 kernel/sched/completion.c:117 kernel/sched/completion.c:138) > [ 1235.131591][ T330] ? wait_for_completion_interruptible (kernel/sched/completion.c:137) > [ 1235.138013][ T330] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) > [ 1235.143698][ T330] affine_move_task (./include/linux/instrumented.h:101 ./include/asm-generic/atomic-instrumented.h:220 ./include/linux/refcount.h:272 ./include/linux/refcount.h:315 ./include/linux/refcount.h:333 kernel/sched/core.c:2263) > [ 1235.148451][ T330] ? move_queued_task (kernel/sched/core.c:2151) > [ 1235.153351][ T330] ? update_curr (kernel/sched/sched.h:1176 kernel/sched/fair.c:845) > [ 1235.157848][ T330] ? enqueue_entity (kernel/sched/fair.c:4247) > [ 1235.162658][ T330] ? set_next_task_fair (./arch/x86/include/asm/jump_label.h:25 (discriminator 2) ./include/linux/jump_label.h:200 (discriminator 2) kernel/sched/fair.c:4567 (discriminator 2) kernel/sched/fair.c:4683 (discriminator 2) kernel/sched/fair.c:10953 (discriminator 2)) > [ 1235.167667][ T330] __set_cpus_allowed_ptr (kernel/sched/core.c:2353) > [ 1235.172905][ T330] ? affine_move_task (kernel/sched/core.c:2287) > [ 1235.177826][ T330] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) > [ 1235.183501][ T330] sched_setaffinity (kernel/sched/core.c:6460) > [ 1235.188345][ T330] ? __ia32_sys_sched_getattr (kernel/sched/core.c:6393) > [ 1235.193937][ T330] ? _copy_from_user (./arch/x86/include/asm/uaccess_64.h:46 ./arch/x86/include/asm/uaccess_64.h:52 lib/usercopy.c:16) > [ 1235.198605][ T330] __x64_sys_sched_setaffinity (kernel/sched/core.c:6511 kernel/sched/core.c:6500 kernel/sched/core.c:6500) > [ 1235.204291][ T330] ? sched_setaffinity (kernel/sched/core.c:6500) > [ 1235.209324][ T330] ? syscall_enter_from_user_mode (./arch/x86/include/asm/irqflags.h:54 ./arch/x86/include/asm/irqflags.h:94 kernel/entry/common.c:98) > [ 1235.215133][ T330] do_syscall_64 (arch/x86/entry/common.c:46) > [ 1235.219431][ T330] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:127) > [ 1235.225251][ T330] RIP: 0033:0x7fb102b1178d > >> b) Could you try the below? > > It is running good so far on multiple systems. I'll keep it running and report > back if it happens again. Thanks! All of this is somewhat fragile, so I'll want to have another look with a fresher mind; if the diff makes a difference at least it'll mean I wasn't completely off.