]> www.infradead.org Git - users/jedix/linux-maple.git/commit
locking/qspinlock: Avoid redundant read of next pointer
authorWaiman Long <Waiman.Long@hpe.com>
Tue, 10 Nov 2015 00:09:23 +0000 (19:09 -0500)
committerAllen Pais <allen.pais@oracle.com>
Fri, 16 Jun 2017 08:46:44 +0000 (14:16 +0530)
commit18cacb8a96f7ca20cb3f0807367840227c780426
tree724cbb18328f9f316557242e1e846af007df6d88
parent09a2f8ddd21fbfe8336e11d7d6d96c3481015141
locking/qspinlock: Avoid redundant read of next pointer

With optimistic prefetch of the next node cacheline, the next pointer
may have been properly inititalized. As a result, the reading
of node->next in the contended path may be redundant. This patch
eliminates the redundant read if the next pointer value is not NULL.

Signed-off-by: Waiman Long <Waiman.Long@hpe.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Douglas Hatch <doug.hatch@hpe.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Scott J Norton <scott.norton@hpe.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1447114167-47185-4-git-send-email-Waiman.Long@hpe.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
(cherry picked from commit aa68744f80bfb6f26fbe7f10e42876066f7dac1b)

Signed-off-by: Babu Moger <babu.moger@oracle.com>
Orabug: 26183741
Signed-off-by: Allen Pais <allen.pais@oracle.com>
kernel/locking/qspinlock.c