mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Scott Wood <swood@redhat.com>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH RT] Revert "cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT"
Date: Sun, 19 Jan 2020 02:03:23 -0600	[thread overview]
Message-ID: <f19f0181e819989b13dc3605c25b110aa2677189.camel@redhat.com> (raw)
In-Reply-To: <20191218174159.ndcvzgqxavpcb37c@linutronix.de>

On Wed, 2019-12-18 at 18:41 +0100, Sebastian Andrzej Siewior wrote:
> The one x86 case we had was fixed in commit
> 	832df3d47badc ("x86/smp: Enhance native_send_call_func_ipi()")
> 
> I didn't find another in-IRQ user. Most callers use GFP_KERNEL and the
> ATOMIC users are allocating the mask while holding a spinlock_t.
> 
> Allow to use CPUMASK_OFFSTACK becauase it no longer is a problem on RT.
> 
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
>  arch/x86/Kconfig | 2 +-
>  lib/Kconfig      | 1 -
>  2 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 7f359aacf8148..4b77b3273051e 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -967,7 +967,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
>  config MAXSMP
>  	bool "Enable Maximum number of SMP Processors and NUMA Nodes"
>  	depends on X86_64 && SMP && DEBUG_KERNEL
> -	select CPUMASK_OFFSTACK if !PREEMPT_RT
> +	select CPUMASK_OFFSTACK

I get splats with this due to zalloc_cpumask_var() with preemption disabled
(from the get_cpu() in x86 flush_tlb_mm_range()):


[   26.576878] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: systemd
[   26.576879] 3 locks held by systemd/1:
[   26.576881]  #0: ffff8897d66a1258 (&mm->mmap_sem#2){++++}, at: __do_munmap+0x430/0x470
[   26.576891]  #1: ffffffff824be3a0 (rcu_read_lock){....}, at: rt_spin_lock+0x5/0xd0
[   26.576899]  #2: ffff8897e04e42e0 ((pa_lock).lock){+.+.}, at: get_page_from_freelist+0x2eb/0x1860
[   26.576906] Preemption disabled at:
[   26.576906] [<ffffffff81068b5d>] flush_tlb_mm_range+0x2d/0x1b0
[   26.576911] CPU: 11 PID: 1 Comm: systemd Tainted: G            E     5.4.10-rt5.dbg+ #224
[   26.576913] Hardware name: Intel Corporation S2600BT/S2600BT, BIOS SE5C620.86B.01.00.0763.022420181017 02/24/2018
[   26.576914] Call Trace:
[   26.576916]  dump_stack+0x68/0x9b
[   26.576921]  ___might_sleep+0x191/0x1f0
[   26.576929]  rt_spin_lock+0x93/0xd0
[   26.576931]  ? get_page_from_freelist+0x2eb/0x1860
[   26.576933]  get_page_from_freelist+0x2eb/0x1860
[   26.576939]  ? lockdep_hardirqs_on+0xf0/0x1a0
[   26.576944]  ? _raw_spin_unlock_irqrestore+0x3e/0x90
[   26.576945]  ? find_held_lock+0x2d/0x90
[   26.576954]  __alloc_pages_nodemask+0x186/0x440
[   26.576960]  new_slab+0x357/0xc20
[   26.576971]  ___slab_alloc+0x52f/0x7a0
[   26.576977]  ? alloc_cpumask_var_node+0x1f/0x30
[   26.576981]  ? __lock_acquire+0x24b/0x1080
[   26.576985]  ? alloc_cpumask_var_node+0x1f/0x30
[   26.576987]  __slab_alloc.isra.89+0x6a/0xb4
[   26.576992]  ? alloc_cpumask_var_node+0x1f/0x30
[   26.576993]  __kmalloc_node+0xd9/0x410
[   26.576997]  ? x86_configure_nx+0x50/0x50
[   26.576998]  ? flush_tlb_func_common.isra.8+0x530/0x530
[   26.576999]  alloc_cpumask_var_node+0x1f/0x30
[   26.577001]  on_each_cpu_cond_mask+0x55/0x1e0
[   26.577006]  ? rcu_read_lock_sched_held+0x52/0x80
[   26.577013]  flush_tlb_mm_range+0x13b/0x1b0
[   26.577018]  tlb_flush_mmu+0x89/0x170
[   26.577020]  tlb_finish_mmu+0x3d/0x70
[   26.577022]  unmap_region+0xd9/0x120
[   26.577028]  ? rt_mutex_slowunlock+0x65/0x70
[   26.577034]  __do_munmap+0x26c/0x470
[   26.577039]  __vm_munmap+0x72/0xc0
[   26.577044]  __x64_sys_munmap+0x27/0x30
[   26.577046]  do_syscall_64+0x6c/0x280
[   26.577050]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   26.577053] RIP: 0033:0x7f33a23243f7
[   26.577054] Code: 64 89 02 48 83 c8 ff eb 9c 48 8b 15 93 da 2c 00 f7 d8 64 89 02 e9 6a ff ff ff 66 0f 1f 84 00 00 00 00 00 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 69 da 2c 00 f7 d8 64 89 01 48
[   26.577056] RSP: 002b:00007fffc45a8228 EFLAGS: 00000206 ORIG_RAX: 000000000000000b
[   26.577056] RAX: ffffffffffffffda RBX: 000055bce7ca7790 RCX: 00007f33a23243f7
[   26.577057] RDX: 0000000000000000 RSI: 0000000000001000 RDI: 00007f33a3b0f000
[   26.577058] RBP: 0000000000000000 R08: 000055bce7ca7870 R09: 00007f33a3afc940
[   26.577058] R10: 0000000000000006 R11: 0000000000000206 R12: 0000000000000000
[   26.577059] R13: 0000000000000000 R14: 000055bce7ca6e70 R15: 000055bce7c9cea0

-Scott



  reply	other threads:[~2020-01-19  8:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-18 17:41 Sebastian Andrzej Siewior
2020-01-19  8:03 ` Scott Wood [this message]
2020-01-19 10:34   ` Sebastian Andrzej Siewior
2020-01-22  4:38     ` Scott Wood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f19f0181e819989b13dc3605c25b110aa2677189.camel@redhat.com \
    --to=swood@redhat.com \
    --cc=bigeasy@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®