summaryrefslogtreecommitdiff
path: root/net/unix
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2021-12-10 21:29:59 +0100
committerDavid S. Miller <davem@davemloft.net>2021-12-13 12:42:08 +0000
commit3c118547f87e930d45a5787e386734015dd93b32 (patch)
tree76e62351ce3aea4b3e7d86ba7eaf2721019b1243 /net/unix
parentd147dd70902ea5cbfd4dfbd65e60733b3805f4c2 (diff)
downloadlinux-rpi-3c118547f87e930d45a5787e386734015dd93b32.tar.gz
linux-rpi-3c118547f87e930d45a5787e386734015dd93b32.tar.bz2
linux-rpi-3c118547f87e930d45a5787e386734015dd93b32.zip
u64_stats: Disable preemption on 32bit UP+SMP PREEMPT_RT during updates.
On PREEMPT_RT the seqcount_t for synchronisation is required on 32bit architectures even on UP because the softirq (and the threaded IRQ handler) can be preempted. With the seqcount_t for synchronisation, a reader with higher priority can preempt the writer and then spin endlessly in read_seqcount_begin() while the writer can't make progress. To avoid such a lock up on PREEMPT_RT the writer must disable preemption during the update. There is no need to disable interrupts because no writer is using this API in hard-IRQ context on PREEMPT_RT. Disable preemption on 32bit-RT within the u64_stats write section. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix')
0 files changed, 0 insertions, 0 deletions