]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - include/linux/delayacct.h
delayacct: Use raw_spinlocks
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Mon, 23 Apr 2018 16:10:23 +0000 (18:10 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 1 Mar 2019 13:20:49 +0000 (14:20 +0100)
commit601e6892b69d705b315ecff60f7045103a80c4a7
tree22fcce10698a6f144f04fcf9fcbf6a2d5f95ae63
parentd78e51dac7704130a654b36e36b36260af520f86
delayacct: Use raw_spinlocks

BugLink: http://bugs.launchpad.net/bugs/1815234
[ Upstream commit 02acc80d19edb0d5684c997b2004ad19f9f5236e ]

try_to_wake_up() might invoke delayacct_blkio_end() while holding the
pi_lock (which is a raw_spinlock_t). delayacct_blkio_end() acquires
task_delay_info.lock which is a spinlock_t. This causes a might sleep splat
on -RT where non raw spinlocks are converted to 'sleeping' spinlocks.

task_delay_info.lock is only held for a short amount of time so it's not a
problem latency wise to make convert it to a raw spinlock.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Balbir Singh <bsingharora@gmail.com>
Link: https://lkml.kernel.org/r/20180423161024.6710-1-bigeasy@linutronix.de
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
include/linux/delayacct.h
kernel/delayacct.c