diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2013-03-21 12:28:47 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-03-21 13:39:31 -0400 |
commit | 62479586532715b6da4777374a6f53b32453385e (patch) | |
tree | 232004eb56bf36b966ea11ec8295a1b2893ac9e9 /arch/arm64/kernel/arm64ksyms.c | |
parent | 2b8cac814cd5a0a305d62dcd1d589faccb705a4d (diff) |
arm64: klib: Optimised atomic bitops
This patch implements the AArch64-specific atomic bitops functions using
exclusive memory accesses to avoid locking.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/arm64ksyms.c')
-rw-r--r-- | arch/arm64/kernel/arm64ksyms.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm64/kernel/arm64ksyms.c b/arch/arm64/kernel/arm64ksyms.c index a5d0d4643109..7df1aad29b67 100644 --- a/arch/arm64/kernel/arm64ksyms.c +++ b/arch/arm64/kernel/arm64ksyms.c | |||
@@ -39,11 +39,6 @@ EXPORT_SYMBOL(__copy_from_user); | |||
39 | EXPORT_SYMBOL(__copy_to_user); | 39 | EXPORT_SYMBOL(__copy_to_user); |
40 | EXPORT_SYMBOL(__clear_user); | 40 | EXPORT_SYMBOL(__clear_user); |
41 | 41 | ||
42 | /* bitops */ | ||
43 | #ifdef CONFIG_SMP | ||
44 | EXPORT_SYMBOL(__atomic_hash); | ||
45 | #endif | ||
46 | |||
47 | /* physical memory */ | 42 | /* physical memory */ |
48 | EXPORT_SYMBOL(memstart_addr); | 43 | EXPORT_SYMBOL(memstart_addr); |
49 | 44 | ||
@@ -54,3 +49,11 @@ EXPORT_SYMBOL(memset); | |||
54 | EXPORT_SYMBOL(memcpy); | 49 | EXPORT_SYMBOL(memcpy); |
55 | EXPORT_SYMBOL(memmove); | 50 | EXPORT_SYMBOL(memmove); |
56 | EXPORT_SYMBOL(memchr); | 51 | EXPORT_SYMBOL(memchr); |
52 | |||
53 | /* atomic bitops */ | ||
54 | EXPORT_SYMBOL(set_bit); | ||
55 | EXPORT_SYMBOL(test_and_set_bit); | ||
56 | EXPORT_SYMBOL(clear_bit); | ||
57 | EXPORT_SYMBOL(test_and_clear_bit); | ||
58 | EXPORT_SYMBOL(change_bit); | ||
59 | EXPORT_SYMBOL(test_and_change_bit); | ||