Merge branch 'master' of /home/trondmy/repositories/git/linux-2.6/
This commit is contained in:
@@ -17,6 +17,8 @@ struct pt_regs;
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define CORENAME_MAX_SIZE 128
|
||||
|
||||
/*
|
||||
* This structure is used to hold the arguments that are used when loading binaries.
|
||||
*/
|
||||
|
@@ -19,17 +19,27 @@
|
||||
CACHE(32768)
|
||||
CACHE(65536)
|
||||
CACHE(131072)
|
||||
#if (NR_CPUS > 512) || (MAX_NUMNODES > 256) || !defined(CONFIG_MMU)
|
||||
#if KMALLOC_MAX_SIZE >= 262144
|
||||
CACHE(262144)
|
||||
#endif
|
||||
#ifndef CONFIG_MMU
|
||||
#if KMALLOC_MAX_SIZE >= 524288
|
||||
CACHE(524288)
|
||||
#endif
|
||||
#if KMALLOC_MAX_SIZE >= 1048576
|
||||
CACHE(1048576)
|
||||
#ifdef CONFIG_LARGE_ALLOCS
|
||||
#endif
|
||||
#if KMALLOC_MAX_SIZE >= 2097152
|
||||
CACHE(2097152)
|
||||
#endif
|
||||
#if KMALLOC_MAX_SIZE >= 4194304
|
||||
CACHE(4194304)
|
||||
#endif
|
||||
#if KMALLOC_MAX_SIZE >= 8388608
|
||||
CACHE(8388608)
|
||||
#endif
|
||||
#if KMALLOC_MAX_SIZE >= 16777216
|
||||
CACHE(16777216)
|
||||
#endif
|
||||
#if KMALLOC_MAX_SIZE >= 33554432
|
||||
CACHE(33554432)
|
||||
#endif /* CONFIG_LARGE_ALLOCS */
|
||||
#endif /* CONFIG_MMU */
|
||||
#endif
|
||||
|
@@ -471,6 +471,7 @@
|
||||
#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2 0x0219
|
||||
#define PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX 0x021A
|
||||
#define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM 0x0251
|
||||
#define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM_PCIE 0x0361
|
||||
#define PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL 0x252
|
||||
|
||||
#define PCI_VENDOR_ID_COMPEX2 0x101a /* pci.ids says "AT&T GIS (NCR)" */
|
||||
|
@@ -74,17 +74,14 @@ void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, unsigned lon
|
||||
void page_add_file_rmap(struct page *);
|
||||
void page_remove_rmap(struct page *, struct vm_area_struct *);
|
||||
|
||||
/**
|
||||
* page_dup_rmap - duplicate pte mapping to a page
|
||||
* @page: the page to add the mapping to
|
||||
*
|
||||
* For copy_page_range only: minimal extract from page_add_rmap,
|
||||
* avoiding unnecessary tests (already checked) so it's quicker.
|
||||
*/
|
||||
static inline void page_dup_rmap(struct page *page)
|
||||
#ifdef CONFIG_DEBUG_VM
|
||||
void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address);
|
||||
#else
|
||||
static inline void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address)
|
||||
{
|
||||
atomic_inc(&page->_mapcount);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Called from mm/vmscan.c to handle paging out
|
||||
|
@@ -32,9 +32,6 @@ typedef struct kmem_cache kmem_cache_t __deprecated;
|
||||
#define SLAB_MEM_SPREAD 0x00100000UL /* Spread some memory over cpuset */
|
||||
#define SLAB_TRACE 0x00200000UL /* Trace allocations and frees */
|
||||
|
||||
/* Flags passed to a constructor functions */
|
||||
#define SLAB_CTOR_CONSTRUCTOR 0x001UL /* If not set, then deconstructor */
|
||||
|
||||
/*
|
||||
* struct kmem_cache related prototypes
|
||||
*/
|
||||
@@ -76,6 +73,21 @@ static inline void *kmem_cache_alloc_node(struct kmem_cache *cachep,
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The largest kmalloc size supported by the slab allocators is
|
||||
* 32 megabyte (2^25) or the maximum allocatable page order if that is
|
||||
* less than 32 MB.
|
||||
*
|
||||
* WARNING: Its not easy to increase this value since the allocators have
|
||||
* to do various tricks to work around compiler limitations in order to
|
||||
* ensure proper constant folding.
|
||||
*/
|
||||
#define KMALLOC_SHIFT_HIGH ((MAX_ORDER + PAGE_SHIFT) <= 25 ? \
|
||||
(MAX_ORDER + PAGE_SHIFT) : 25)
|
||||
|
||||
#define KMALLOC_MAX_SIZE (1UL << KMALLOC_SHIFT_HIGH)
|
||||
#define KMALLOC_MAX_ORDER (KMALLOC_SHIFT_HIGH - PAGE_SHIFT)
|
||||
|
||||
/*
|
||||
* Common kmalloc functions provided by all allocators
|
||||
*/
|
||||
@@ -233,9 +245,6 @@ extern void *__kmalloc_node_track_caller(size_t, gfp_t, int, void *);
|
||||
|
||||
#endif /* DEBUG_SLAB */
|
||||
|
||||
extern const struct seq_operations slabinfo_op;
|
||||
ssize_t slabinfo_write(struct file *, const char __user *, size_t, loff_t *);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _LINUX_SLAB_H */
|
||||
|
||||
|
@@ -109,4 +109,7 @@ found:
|
||||
|
||||
#endif /* CONFIG_NUMA */
|
||||
|
||||
extern const struct seq_operations slabinfo_op;
|
||||
ssize_t slabinfo_write(struct file *, const char __user *, size_t, loff_t *);
|
||||
|
||||
#endif /* _LINUX_SLAB_DEF_H */
|
||||
|
@@ -40,7 +40,6 @@ struct kmem_cache {
|
||||
int objects; /* Number of objects in slab */
|
||||
int refcount; /* Refcount for slab cache destroy */
|
||||
void (*ctor)(void *, struct kmem_cache *, unsigned long);
|
||||
void (*dtor)(void *, struct kmem_cache *, unsigned long);
|
||||
int inuse; /* Offset to metadata */
|
||||
int align; /* Alignment */
|
||||
const char *name; /* Name (only for display!) */
|
||||
@@ -59,17 +58,6 @@ struct kmem_cache {
|
||||
*/
|
||||
#define KMALLOC_SHIFT_LOW 3
|
||||
|
||||
#ifdef CONFIG_LARGE_ALLOCS
|
||||
#define KMALLOC_SHIFT_HIGH ((MAX_ORDER + PAGE_SHIFT) =< 25 ? \
|
||||
(MAX_ORDER + PAGE_SHIFT - 1) : 25)
|
||||
#else
|
||||
#if !defined(CONFIG_MMU) || NR_CPUS > 512 || MAX_NUMNODES > 256
|
||||
#define KMALLOC_SHIFT_HIGH 20
|
||||
#else
|
||||
#define KMALLOC_SHIFT_HIGH 18
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* We keep the general caches in an array of slab caches that are used for
|
||||
* 2^x bytes of allocations.
|
||||
@@ -80,7 +68,7 @@ extern struct kmem_cache kmalloc_caches[KMALLOC_SHIFT_HIGH + 1];
|
||||
* Sorry that the following has to be that ugly but some versions of GCC
|
||||
* have trouble with constant propagation and loops.
|
||||
*/
|
||||
static inline int kmalloc_index(int size)
|
||||
static inline int kmalloc_index(size_t size)
|
||||
{
|
||||
/*
|
||||
* We should return 0 if size == 0 but we use the smallest object
|
||||
@@ -88,7 +76,7 @@ static inline int kmalloc_index(int size)
|
||||
*/
|
||||
WARN_ON_ONCE(size == 0);
|
||||
|
||||
if (size > (1 << KMALLOC_SHIFT_HIGH))
|
||||
if (size > KMALLOC_MAX_SIZE)
|
||||
return -1;
|
||||
|
||||
if (size > 64 && size <= 96)
|
||||
@@ -111,17 +99,13 @@ static inline int kmalloc_index(int size)
|
||||
if (size <= 64 * 1024) return 16;
|
||||
if (size <= 128 * 1024) return 17;
|
||||
if (size <= 256 * 1024) return 18;
|
||||
#if KMALLOC_SHIFT_HIGH > 18
|
||||
if (size <= 512 * 1024) return 19;
|
||||
if (size <= 1024 * 1024) return 20;
|
||||
#endif
|
||||
#if KMALLOC_SHIFT_HIGH > 20
|
||||
if (size <= 2 * 1024 * 1024) return 21;
|
||||
if (size <= 4 * 1024 * 1024) return 22;
|
||||
if (size <= 8 * 1024 * 1024) return 23;
|
||||
if (size <= 16 * 1024 * 1024) return 24;
|
||||
if (size <= 32 * 1024 * 1024) return 25;
|
||||
#endif
|
||||
return -1;
|
||||
|
||||
/*
|
||||
@@ -146,7 +130,12 @@ static inline struct kmem_cache *kmalloc_slab(size_t size)
|
||||
if (index == 0)
|
||||
return NULL;
|
||||
|
||||
if (index < 0) {
|
||||
/*
|
||||
* This function only gets expanded if __builtin_constant_p(size), so
|
||||
* testing it here shouldn't be needed. But some versions of gcc need
|
||||
* help.
|
||||
*/
|
||||
if (__builtin_constant_p(size) && index < 0) {
|
||||
/*
|
||||
* Generate a link failure. Would be great if we could
|
||||
* do something to stop the compile here.
|
||||
|
@@ -6,6 +6,7 @@
|
||||
* Alan Cox. <alan@redhat.com>
|
||||
*/
|
||||
|
||||
#include <linux/errno.h>
|
||||
|
||||
extern void cpu_idle(void);
|
||||
|
||||
@@ -99,11 +100,9 @@ static inline void smp_send_reschedule(int cpu) { }
|
||||
#define num_booting_cpus() 1
|
||||
#define smp_prepare_boot_cpu() do {} while (0)
|
||||
static inline int smp_call_function_single(int cpuid, void (*func) (void *info),
|
||||
void *info, int retry, int wait)
|
||||
void *info, int retry, int wait)
|
||||
{
|
||||
/* Disable interrupts here? */
|
||||
func(info);
|
||||
return 0;
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
#endif /* !SMP */
|
||||
|
@@ -122,7 +122,7 @@ extern struct workqueue_struct *__create_workqueue(const char *name,
|
||||
int singlethread,
|
||||
int freezeable);
|
||||
#define create_workqueue(name) __create_workqueue((name), 0, 0)
|
||||
#define create_freezeable_workqueue(name) __create_workqueue((name), 0, 1)
|
||||
#define create_freezeable_workqueue(name) __create_workqueue((name), 1, 1)
|
||||
#define create_singlethread_workqueue(name) __create_workqueue((name), 1, 0)
|
||||
|
||||
extern void destroy_workqueue(struct workqueue_struct *wq);
|
||||
|
Reference in New Issue
Block a user