![Matthew Wilcox](/assets/img/avatar_default.png)
Semaphores are no longer performance-critical, so a generic C implementation is better for maintainability, debuggability and extensibility. Thanks to Peter Zijlstra for fixing the lockdep warning. Thanks to Harvey Harrison for pointing out that the unlikely() was unnecessary. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Acked-by: Ingo Molnar <mingo@elte.hu>
17 lines
561 B
C
17 lines
561 B
C
#include <linux/module.h>
|
|
|
|
asmlinkage long long __ashldi3 (long long, int);
|
|
asmlinkage long long __ashrdi3 (long long, int);
|
|
asmlinkage long long __lshrdi3 (long long, int);
|
|
asmlinkage long long __muldi3 (long long, long long);
|
|
|
|
/* The following are special because they're not called
|
|
explicitly (the C compiler generates them). Fortunately,
|
|
their interface isn't gonna change any time soon now, so
|
|
it's OK to leave it out of version control. */
|
|
EXPORT_SYMBOL(__ashldi3);
|
|
EXPORT_SYMBOL(__ashrdi3);
|
|
EXPORT_SYMBOL(__lshrdi3);
|
|
EXPORT_SYMBOL(__muldi3);
|
|
|