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
This commit is contained in:
behlendo 2008-04-01 16:09:18 +00:00
parent e966e04fd5
commit 6a585c61de
2 changed files with 65 additions and 1 deletions

View File

@ -1,4 +1,68 @@
#ifndef _SPL_ISA_DEFS_H #ifndef _SPL_ISA_DEFS_H
#define _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 */ #endif /* _SPL_ISA_DEFS_H */

View File

@ -34,7 +34,7 @@ extern int kmem_warning_flag;
({ void *_ptr_; \ ({ void *_ptr_; \
\ \
/* Marked unlikely because we should never be doing this */ \ /* 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 "\ printk("spl: Warning kmem_alloc(%d, 0x%x) large alloc at %s:%d "\
"(%ld/%ld)\n", (int)(size), (int)(flags), \ "(%ld/%ld)\n", (int)(size), (int)(flags), \
__FILE__, __LINE__, \ __FILE__, __LINE__, \