diff options
author | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-04-01 16:09:18 +0000 |
---|---|---|
committer | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-04-01 16:09:18 +0000 |
commit | 6a585c61de0f3fa369ed7a011e27f94226232562 (patch) | |
tree | 1cdd26ee21e94f2e7fde307fcffa375c6f7f3b3c /include | |
parent | e966e04fd52e0a80ec191b8f784d84b436877667 (diff) |
Double large kmalloc warning size to 4 pages. It was 2 pages, and ideally
it should be dropped to one page but in the short term we should be able
to easily live with 4 page allocations.
Fix the nvlist bug, it turns out the user space side of things were
packing the nvlists correctly as little endian, and the kernel space
side of things due to a missing #define were unpacking them as big endian.
git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@62 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/isa_defs.h | 64 | ||||
-rw-r--r-- | include/sys/kmem.h | 2 |
2 files changed, 65 insertions, 1 deletions
diff --git a/include/sys/isa_defs.h b/include/sys/isa_defs.h index 3730561da..57a6d366e 100644 --- a/include/sys/isa_defs.h +++ b/include/sys/isa_defs.h @@ -1,4 +1,68 @@ #ifndef _SPL_ISA_DEFS_H #define _SPL_ISA_DEFS_H +#ifdef __cplusplus +extern "C" { +#endif + +/* x86_64 arch specific defines */ +#if defined(__x86_64) || defined(__x86_64__) + +#if !defined(__x86_64) +#define __x86_64 +#endif + +#if !defined(__amd64) +#define __amd64 +#endif + +#if !defined(__x86) +#define __x86 +#endif + +#if !defined(_LP64) +#define _LP64 +#endif + +/* i386 arch specific defines */ +#elif defined(__i386) || defined(__i386__) + +#if !defined(__i386) +#define __i386 +#endif + +#if !defined(__x86) +#define __x86 +#endif + +#if !defined(_ILP32) +#define _ILP32 +#endif + +#else /* Currently only x86_64 and i386 arches supported */ +#error "Unsupported ISA type" +#endif + +#if defined(_ILP32) && defined(_LP64) +#error "Both _ILP32 and _LP64 are defined" +#endif + +#include <sys/byteorder.h> + +#if defined(__LITTLE_ENDIAN) && !defined(_LITTLE_ENDIAN) +#define _LITTLE_ENDIAN __LITTLE_ENDIAN +#endif + +#if defined(__BIG_ENDIAN) && !defined(_BIG_ENDIAN) +#define _BIG_ENDIAN __BIG_ENDIAN +#endif + +#if defined(_LITTLE_ENDIAN) && defined(_BIG_ENDIAN) +#error "Both _LITTLE_ENDIAN and __BIG_ENDIAN are defined" +#endif + +#ifdef __cplusplus +} +#endif + #endif /* _SPL_ISA_DEFS_H */ diff --git a/include/sys/kmem.h b/include/sys/kmem.h index 393775fab..a33643f15 100644 --- a/include/sys/kmem.h +++ b/include/sys/kmem.h @@ -34,7 +34,7 @@ extern int kmem_warning_flag; ({ void *_ptr_; \ \ /* Marked unlikely because we should never be doing this */ \ - if (unlikely((size) > (PAGE_SIZE * 2)) && kmem_warning_flag) \ + if (unlikely((size) > (PAGE_SIZE * 4)) && kmem_warning_flag) \ printk("spl: Warning kmem_alloc(%d, 0x%x) large alloc at %s:%d "\ "(%ld/%ld)\n", (int)(size), (int)(flags), \ __FILE__, __LINE__, \ |