From: Juri Lelli <juri.lelli@arm.com>
To: Daniel Bristot de Oliveira <bristot@redhat.com>
Cc: linux-kernel@vger.kernel.org, Rik van Riel <riel@redhat.com>,
"Luis Claudio R. Goncalves" <lgoncalv@redhat.com>,
Tejun Heo <tj@kernel.org>, Li Zefan <lizefan@huawei.com>,
Johannes Weiner <hannes@cmpxchg.org>,
cgroups@vger.kernel.org
Subject: Re: [PATCH] cgroup: disable irqs while holding css_set_lock
Date: Tue, 7 Jun 2016 11:14:02 +0100 [thread overview]
Message-ID: <20160607101402.GP9340@e106622-lin> (raw)
In-Reply-To: <aa70cd2645974808785960bfb0ddfebdec6e3095.1465243518.git.bristot@redhat.com>
Hi,
On 06/06/16 19:24, Daniel Bristot de Oliveira wrote:
> While testing the deadline scheduler + cgroup setup I hit this
> warning.
>
> [ 132.612935] ------------[ cut here ]------------
> [ 132.612951] WARNING: CPU: 5 PID: 0 at kernel/softirq.c:150 __local_bh_enable_ip+0x6b/0x80
> [ 132.612952] Modules linked in: (a ton of modules...)
> [ 132.612981] CPU: 5 PID: 0 Comm: swapper/5 Not tainted 4.7.0-rc2 #2
> [ 132.612981] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.2-20150714_191134- 04/01/2014
> [ 132.612982] 0000000000000086 45c8bb5effdd088b ffff88013fd43da0 ffffffff813d229e
> [ 132.612984] 0000000000000000 0000000000000000 ffff88013fd43de0 ffffffff810a652b
> [ 132.612985] 00000096811387b5 0000000000000200 ffff8800bab29d80 ffff880034c54c00
> [ 132.612986] Call Trace:
> [ 132.612987] <IRQ> [<ffffffff813d229e>] dump_stack+0x63/0x85
> [ 132.612994] [<ffffffff810a652b>] __warn+0xcb/0xf0
> [ 132.612997] [<ffffffff810e76a0>] ? push_dl_task.part.32+0x170/0x170
> [ 132.612999] [<ffffffff810a665d>] warn_slowpath_null+0x1d/0x20
> [ 132.613000] [<ffffffff810aba5b>] __local_bh_enable_ip+0x6b/0x80
> [ 132.613008] [<ffffffff817d6c8a>] _raw_write_unlock_bh+0x1a/0x20
> [ 132.613010] [<ffffffff817d6c9e>] _raw_spin_unlock_bh+0xe/0x10
> [ 132.613015] [<ffffffff811388ac>] put_css_set+0x5c/0x60
> [ 132.613016] [<ffffffff8113dc7f>] cgroup_free+0x7f/0xa0
> [ 132.613017] [<ffffffff810a3912>] __put_task_struct+0x42/0x140
> [ 132.613018] [<ffffffff810e776a>] dl_task_timer+0xca/0x250
> [ 132.613027] [<ffffffff810e76a0>] ? push_dl_task.part.32+0x170/0x170
> [ 132.613030] [<ffffffff8111371e>] __hrtimer_run_queues+0xee/0x270
> [ 132.613031] [<ffffffff81113ec8>] hrtimer_interrupt+0xa8/0x190
> [ 132.613034] [<ffffffff81051a58>] local_apic_timer_interrupt+0x38/0x60
> [ 132.613035] [<ffffffff817d9b0d>] smp_apic_timer_interrupt+0x3d/0x50
> [ 132.613037] [<ffffffff817d7c5c>] apic_timer_interrupt+0x8c/0xa0
> [ 132.613038] <EOI> [<ffffffff81063466>] ? native_safe_halt+0x6/0x10
> [ 132.613043] [<ffffffff81037a4e>] default_idle+0x1e/0xd0
> [ 132.613044] [<ffffffff810381cf>] arch_cpu_idle+0xf/0x20
> [ 132.613046] [<ffffffff810e8fda>] default_idle_call+0x2a/0x40
> [ 132.613047] [<ffffffff810e92d7>] cpu_startup_entry+0x2e7/0x340
> [ 132.613048] [<ffffffff81050235>] start_secondary+0x155/0x190
> [ 132.613049] ---[ end trace f91934d162ce9977 ]---
>
> The warn is the spin_(lock|unlock)_bh(&css_set_lock) in the interrupt
> context. Converting the spin_lock_bh to spin_lock_irqsave to avoid this
> problem - and other problems of sharing a spinlock with an interrupt.
>
Interesting. And your test is using cpuset controller to partion
DEADLINE tasks and then modify groups concurrently?
Best,
- Juri
next prev parent reply other threads:[~2016-06-07 10:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-06 22:24 [PATCH] cgroup: disable irqs while holding css_set_lock Daniel Bristot de Oliveira
2016-06-07 10:14 ` Juri Lelli [this message]
2016-06-07 12:39 ` Daniel Bristot de Oliveira
2016-06-07 13:30 ` Juri Lelli
2016-06-07 15:26 ` Daniel Bristot de Oliveira
2016-06-07 16:11 ` Juri Lelli
2016-06-07 15:13 ` Daniel Bristot de Oliveira
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=20160607101402.GP9340@e106622-lin \
--to=juri.lelli@arm.com \
--cc=bristot@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=lgoncalv@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=riel@redhat.com \
--cc=tj@kernel.org \
/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