summaryrefslogtreecommitdiff
path: root/include/linux/serio.h
diff options
context:
space:
mode:
authorJorgen Hansen <jhansen@vmware.com>2015-11-12 12:29:32 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-08 08:36:02 +0300
commitf42a0fd13bd281811e7457b28d939c8e8b808868 (patch)
treec738c01147cfc4f5d68f10a55309adeb9139f74d /include/linux/serio.h
parentfe760e4d64fe5c17c39e86c410d41f6587ee88bc (diff)
downloadlinux-f42a0fd13bd281811e7457b28d939c8e8b808868.tar.xz
VMCI: Use 32bit atomics for queue headers on X86_32
This change restricts the reading and setting of the head and tail pointers on 32bit X86 to 32bit for both correctness and performance reasons. On uniprocessor X86_32, the atomic64_read may be implemented as a non-locked cmpxchg8b. This may result in updates to the pointers done by the VMCI device being overwritten. On MP systems, there is no such correctness issue, but using 32bit atomics avoids the overhead of the locked 64bit operation. All this is safe because the queue size on 32bit systems will never exceed a 32bit value. Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Jorgen Hansen <jhansen@vmware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/serio.h')
0 files changed, 0 insertions, 0 deletions