diff options
author | Brian Behlendorf <[email protected]> | 2009-12-04 15:54:12 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2009-12-04 15:54:12 -0800 |
commit | d04c8a563c09d6449d5663aa2b57840653defae5 (patch) | |
tree | dabaa7102180f3c4e18ac21e1f7fc3618e996bdb /include/Makefile.am | |
parent | db1aa22297d50fa19939e487b5cc7d1f5088c64e (diff) |
Atomic64 compatibility for 32-bit systems without kernel support.
This patch is another step towards updating the code to handle the
32-bit kernels which I have not been regularly testing. This changes
do not really impact the common case I'm expected which is the latest
kernel running on an x86_64 arch.
Until the linux-2.6.31 kernel the x86 arch did not have support for
64-bit atomic operations. Additionally, the new atomic_compat.h support
for this case was wrong because it embedded a spinlock in the atomic
variable which must always and only be 64-bits total. To handle these
32-bit issues we now simply fall back to the --enable-atomic-spinlock
implementation if the kernel does not provide the 64-bit atomic funcs.
The second issue this patch addresses is the DEBUG_KMEM assumption that
there will always be atomic64 funcs available. On 32-bit archs this may
not be true, and actually that's just fine. In that case the kernel will
will never be able to allocate more the 32-bits worth anyway. So just
check if atomic64 funcs are available, if they are not it means this
is a 32-bit machine and we can safely use atomic_t's instead.
Diffstat (limited to 'include/Makefile.am')
-rw-r--r-- | include/Makefile.am | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 3388ce8d9..6ed7cdad8 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -3,7 +3,6 @@ # location. We do not want to be using $includedir for this. # Installation is handled by the custom install-data-local rule. noinst_HEADERS = *.h -noinst_HEADERS += asm/*.h noinst_HEADERS += fs/*.h noinst_HEADERS += linux/*.h noinst_HEADERS += rpc/*.h |