diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:34 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:34 -0800 |
| commit | d0415686774477153ca911a612f74c2d2bb11be6 (patch) | |
| tree | e5f35894e9ff6c0da29668e5560204fd49db5eb1 /include | |
| parent | 25aa595a676f130148eba073cdd5a8d57e9d238f (diff) | |
v2.5.1.3 -> v2.5.1.4
- Jens Axboe: more bio updates, fix some request list bogosity under load
- Al Viro: export seq_xxx functions
- Manfred Spraul: include file cleanups, pc110pad compile fix
- David Woodhouse: fix JFFS2 write error handling
- Dave Jones: start merging up with 2.4.x patches
- Manfred Spraul: coredump fixes, FS event counter cleanups
- me: fix SCSI CD-ROM sectorsize BIO breakage
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/blkdev.h | 4 | ||||
| -rw-r--r-- | include/linux/ext2_fs_sb.h | 1 | ||||
| -rw-r--r-- | include/linux/file.h | 2 | ||||
| -rw-r--r-- | include/linux/gfp.h | 81 | ||||
| -rw-r--r-- | include/linux/i8k.h | 8 | ||||
| -rw-r--r-- | include/linux/interrupt.h | 2 | ||||
| -rw-r--r-- | include/linux/isdn.h | 1 | ||||
| -rw-r--r-- | include/linux/kernel.h | 10 | ||||
| -rw-r--r-- | include/linux/linkage.h | 10 | ||||
| -rw-r--r-- | include/linux/mm.h | 78 | ||||
| -rw-r--r-- | include/linux/parport.h | 1 | ||||
| -rw-r--r-- | include/linux/proc_fs.h | 2 | ||||
| -rw-r--r-- | include/linux/reiserfs_fs.h | 2 | ||||
| -rw-r--r-- | include/linux/shm.h | 1 | ||||
| -rw-r--r-- | include/linux/slab.h | 5 | ||||
| -rw-r--r-- | include/linux/sunrpc/clnt.h | 1 | ||||
| -rw-r--r-- | include/linux/wait.h | 112 |
17 files changed, 116 insertions, 205 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 1b173a6e7f91..d084e28ef4b9 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -228,8 +228,8 @@ extern unsigned long blk_max_low_pfn, blk_max_pfn; * BLK_BOUNCE_ANY : don't bounce anything * BLK_BOUNCE_ISA : bounce pages above ISA DMA boundary */ -#define BLK_BOUNCE_HIGH ((blk_max_low_pfn + 1) << PAGE_SHIFT) -#define BLK_BOUNCE_ANY ((blk_max_pfn + 1) << PAGE_SHIFT) +#define BLK_BOUNCE_HIGH (blk_max_low_pfn << PAGE_SHIFT) +#define BLK_BOUNCE_ANY (blk_max_pfn << PAGE_SHIFT) #define BLK_BOUNCE_ISA (ISA_DMA_THRESHOLD) extern int init_emergency_isa_pool(void); diff --git a/include/linux/ext2_fs_sb.h b/include/linux/ext2_fs_sb.h index 2e72dfbefd00..47f53158e755 100644 --- a/include/linux/ext2_fs_sb.h +++ b/include/linux/ext2_fs_sb.h @@ -56,6 +56,7 @@ struct ext2_sb_info { int s_desc_per_block_bits; int s_inode_size; int s_first_ino; + u32 s_next_generation; }; #endif /* _LINUX_EXT2_FS_SB */ diff --git a/include/linux/file.h b/include/linux/file.h index 02edb29c31da..0994be6129fd 100644 --- a/include/linux/file.h +++ b/include/linux/file.h @@ -5,6 +5,8 @@ #ifndef __LINUX_FILE_H #define __LINUX_FILE_H +#include <linux/sched.h> + extern void FASTCALL(fput(struct file *)); extern struct file * FASTCALL(fget(unsigned int fd)); diff --git a/include/linux/gfp.h b/include/linux/gfp.h new file mode 100644 index 000000000000..63fac87d50ef --- /dev/null +++ b/include/linux/gfp.h @@ -0,0 +1,81 @@ +#ifndef __LINUX_GFP_H +#define __LINUX_GFP_H + +#include <linux/mmzone.h> +#include <linux/stddef.h> +#include <linux/linkage.h> +/* + * GFP bitmasks.. + */ +/* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low four bits) */ +#define __GFP_DMA 0x01 +#define __GFP_HIGHMEM 0x02 + +/* Action modifiers - doesn't change the zoning */ +#define __GFP_WAIT 0x10 /* Can wait and reschedule? */ +#define __GFP_HIGH 0x20 /* Should access emergency pools? */ +#define __GFP_IO 0x40 /* Can start low memory physical IO? */ +#define __GFP_HIGHIO 0x80 /* Can start high mem physical IO? */ +#define __GFP_FS 0x100 /* Can call down to low-level FS? */ + +#define GFP_NOHIGHIO (__GFP_HIGH | __GFP_WAIT | __GFP_IO) +#define GFP_NOIO (__GFP_HIGH | __GFP_WAIT) +#define GFP_NOFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO) +#define GFP_ATOMIC (__GFP_HIGH) +#define GFP_USER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) +#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS | __GFP_HIGHMEM) +#define GFP_KERNEL (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) +#define GFP_NFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) +#define GFP_KSWAPD ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) + +/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some + platforms, used as appropriate on others */ + +#define GFP_DMA __GFP_DMA + +/* + * There is only one page-allocator function, and two main namespaces to + * it. The alloc_page*() variants return 'struct page *' and as such + * can allocate highmem pages, the *get*page*() variants return + * virtual kernel addresses to the allocated page(s). + */ +extern struct page * FASTCALL(_alloc_pages(unsigned int gfp_mask, unsigned int order)); +extern struct page * FASTCALL(__alloc_pages(unsigned int gfp_mask, unsigned int order, zonelist_t *zonelist)); +extern struct page * alloc_pages_node(int nid, unsigned int gfp_mask, unsigned int order); + +static inline struct page * alloc_pages(unsigned int gfp_mask, unsigned int order) +{ + /* + * Gets optimized away by the compiler. + */ + if (order >= MAX_ORDER) + return NULL; + return _alloc_pages(gfp_mask, order); +} + +#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) + +extern unsigned long FASTCALL(__get_free_pages(unsigned int gfp_mask, unsigned int order)); +extern unsigned long FASTCALL(get_zeroed_page(unsigned int gfp_mask)); + +#define __get_free_page(gfp_mask) \ + __get_free_pages((gfp_mask),0) + +#define __get_dma_pages(gfp_mask, order) \ + __get_free_pages((gfp_mask) | GFP_DMA,(order)) + +/* + * The old interface name will be removed in 2.5: + */ +#define get_free_page get_zeroed_page + +/* + * There is only one 'core' page-freeing function. + */ +extern void FASTCALL(__free_pages(struct page *page, unsigned int order)); +extern void FASTCALL(free_pages(unsigned long addr, unsigned int order)); + +#define __free_page(page) __free_pages((page), 0) +#define free_page(addr) free_pages((addr),0) + +#endif /* __LINUX_GFP_H */ diff --git a/include/linux/i8k.h b/include/linux/i8k.h index 1e75f153e332..a6d3b694a0cd 100644 --- a/include/linux/i8k.h +++ b/include/linux/i8k.h @@ -1,5 +1,5 @@ /* - * i8k.h -- Linux driver for accessing the SMM BIOS on Dell I8000 laptops + * i8k.h -- Linux driver for accessing the SMM BIOS on Dell laptops * * Copyright (C) 2001 Massimo Dal Zotto <dz@debian.org> * @@ -36,9 +36,9 @@ #define I8K_FAN_HIGH 2 #define I8K_FAN_MAX I8K_FAN_HIGH -#define I8K_VOL_UP 0x01 -#define I8K_VOL_DOWN 0x02 -#define I8K_VOL_MUTE 0x03 +#define I8K_VOL_UP 1 +#define I8K_VOL_DOWN 2 +#define I8K_VOL_MUTE 4 #define I8K_AC 1 #define I8K_BATTERY 0 diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index d2afbde8212c..f4b23c425760 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -3,12 +3,14 @@ #define _LINUX_INTERRUPT_H #include <linux/config.h> +#include <linux/sched.h> #include <linux/kernel.h> #include <linux/smp.h> #include <linux/cache.h> #include <asm/bitops.h> #include <asm/atomic.h> +#include <asm/system.h> #include <asm/ptrace.h> struct irqaction { diff --git a/include/linux/isdn.h b/include/linux/isdn.h index 0f1dda941c26..6f6ae516028f 100644 --- a/include/linux/isdn.h +++ b/include/linux/isdn.h @@ -150,7 +150,6 @@ typedef struct { #include <linux/errno.h> #include <linux/fs.h> #include <linux/major.h> -#include <asm/segment.h> #include <asm/io.h> #include <linux/kernel.h> #include <linux/signal.h> diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 523e38822f65..8749f6f0c302 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -37,16 +37,6 @@ #define KERN_INFO "<6>" /* informational */ #define KERN_DEBUG "<7>" /* debug-level messages */ -# define NORET_TYPE /**/ -# define ATTRIB_NORET __attribute__((noreturn)) -# define NORET_AND noreturn, - -#ifdef __i386__ -#define FASTCALL(x) x __attribute__((regparm(3))) -#else -#define FASTCALL(x) x -#endif - struct completion; extern struct notifier_block *panic_notifier_list; diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 23b9ae463b67..e9bf89431961 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h @@ -60,4 +60,14 @@ #endif +# define NORET_TYPE /**/ +# define ATTRIB_NORET __attribute__((noreturn)) +# define NORET_AND noreturn, + +#ifdef __i386__ +#define FASTCALL(x) x __attribute__((regparm(3))) +#else +#define FASTCALL(x) x +#endif + #endif diff --git a/include/linux/mm.h b/include/linux/mm.h index 5a85039279b0..51363ad4e1e0 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -7,6 +7,7 @@ #ifdef __KERNEL__ #include <linux/config.h> +#include <linux/gfp.h> #include <linux/string.h> #include <linux/list.h> #include <linux/mmzone.h> @@ -344,51 +345,6 @@ extern void FASTCALL(set_page_dirty(struct page *)); /* The array of struct pages */ extern mem_map_t * mem_map; -/* - * There is only one page-allocator function, and two main namespaces to - * it. The alloc_page*() variants return 'struct page *' and as such - * can allocate highmem pages, the *get*page*() variants return - * virtual kernel addresses to the allocated page(s). - */ -extern struct page * FASTCALL(_alloc_pages(unsigned int gfp_mask, unsigned int order)); -extern struct page * FASTCALL(__alloc_pages(unsigned int gfp_mask, unsigned int order, zonelist_t *zonelist)); -extern struct page * alloc_pages_node(int nid, unsigned int gfp_mask, unsigned int order); - -static inline struct page * alloc_pages(unsigned int gfp_mask, unsigned int order) -{ - /* - * Gets optimized away by the compiler. - */ - if (order >= MAX_ORDER) - return NULL; - return _alloc_pages(gfp_mask, order); -} - -#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) - -extern unsigned long FASTCALL(__get_free_pages(unsigned int gfp_mask, unsigned int order)); -extern unsigned long FASTCALL(get_zeroed_page(unsigned int gfp_mask)); - -#define __get_free_page(gfp_mask) \ - __get_free_pages((gfp_mask),0) - -#define __get_dma_pages(gfp_mask, order) \ - __get_free_pages((gfp_mask) | GFP_DMA,(order)) - -/* - * The old interface name will be removed in 2.5: - */ -#define get_free_page get_zeroed_page - -/* - * There is only one 'core' page-freeing function. - */ -extern void FASTCALL(__free_pages(struct page *page, unsigned int order)); -extern void FASTCALL(free_pages(unsigned long addr, unsigned int order)); - -#define __free_page(page) __free_pages((page), 0) -#define free_page(addr) free_pages((addr),0) - extern void show_free_areas(void); extern void show_free_areas_node(pg_data_t *pgdat); @@ -418,6 +374,9 @@ extern int ptrace_detach(struct task_struct *, unsigned int); extern void ptrace_disable(struct task_struct *); extern int ptrace_check_attach(struct task_struct *task, int kill); +int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, unsigned long start, + int len, int write, int force, struct page **pages, struct vm_area_struct **vmas); + /* * On a two-level page table, this ends up being trivial. Thus the * inlining and the symmetry break with pte_alloc() that does all @@ -512,35 +471,6 @@ extern void truncate_inode_pages(struct address_space *, loff_t); extern int filemap_sync(struct vm_area_struct *, unsigned long, size_t, unsigned int); extern struct page *filemap_nopage(struct vm_area_struct *, unsigned long, int); -/* - * GFP bitmasks.. - */ -/* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low four bits) */ -#define __GFP_DMA 0x01 -#define __GFP_HIGHMEM 0x02 - -/* Action modifiers - doesn't change the zoning */ -#define __GFP_WAIT 0x10 /* Can wait and reschedule? */ -#define __GFP_HIGH 0x20 /* Should access emergency pools? */ -#define __GFP_IO 0x40 /* Can start low memory physical IO? */ -#define __GFP_HIGHIO 0x80 /* Can start high mem physical IO? */ -#define __GFP_FS 0x100 /* Can call down to low-level FS? */ - -#define GFP_NOHIGHIO (__GFP_HIGH | __GFP_WAIT | __GFP_IO) -#define GFP_NOIO (__GFP_HIGH | __GFP_WAIT) -#define GFP_NOFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO) -#define GFP_ATOMIC (__GFP_HIGH) -#define GFP_USER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) -#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS | __GFP_HIGHMEM) -#define GFP_KERNEL (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) -#define GFP_NFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) -#define GFP_KSWAPD ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS) - -/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some - platforms, used as appropriate on others */ - -#define GFP_DMA __GFP_DMA - /* vma is the first one with address < vma->vm_end, * and even address < vma->vm_start. Have to extend vma. */ static inline int expand_stack(struct vm_area_struct * vma, unsigned long address) diff --git a/include/linux/parport.h b/include/linux/parport.h index bee974807bd8..ce82bcdb5e1a 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h @@ -8,6 +8,7 @@ #ifndef _PARPORT_H_ #define _PARPORT_H_ +#include <linux/sched.h> /* Start off with user-visible constants */ diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index d6f2700e3630..4688c8c90ede 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h @@ -3,6 +3,8 @@ #include <linux/config.h> #include <linux/slab.h> +#include <linux/fs.h> +#include <asm/atomic.h> /* * The proc filesystem constants/structures diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index 6425547d2175..4ae1b21703c4 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h @@ -15,10 +15,10 @@ #include <linux/types.h> #ifdef __KERNEL__ #include <linux/slab.h> +#include <linux/interrupt.h> #include <linux/tqueue.h> #include <asm/unaligned.h> #include <linux/bitops.h> -#include <asm/hardirq.h> #include <linux/proc_fs.h> #endif diff --git a/include/linux/shm.h b/include/linux/shm.h index 4ccdd749d2b7..be3351619c2e 100644 --- a/include/linux/shm.h +++ b/include/linux/shm.h @@ -80,7 +80,6 @@ asmlinkage long sys_shmget (key_t key, size_t size, int flag); asmlinkage long sys_shmat (int shmid, char *shmaddr, int shmflg, unsigned long *addr); asmlinkage long sys_shmdt (char *shmaddr); asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds *buf); -extern void shm_unuse(swp_entry_t entry, struct page *page); #endif /* __KERNEL__ */ diff --git a/include/linux/slab.h b/include/linux/slab.h index ed4ff483974c..ceff3509f29e 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -11,8 +11,8 @@ typedef struct kmem_cache_s kmem_cache_t; -#include <linux/mm.h> -#include <linux/cache.h> +#include <linux/gfp.h> +#include <linux/types.h> /* flags for kmem_cache_alloc() */ #define SLAB_NOFS GFP_NOFS @@ -64,6 +64,7 @@ extern void kfree(const void *); extern int FASTCALL(kmem_cache_reap(int)); extern int slabinfo_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data); +struct file; extern int slabinfo_write_proc(struct file *file, const char *buffer, unsigned long count, void *data); diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 37feb6f6ef53..62f4b1bd4dd1 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h @@ -15,6 +15,7 @@ #include <linux/sunrpc/auth.h> #include <linux/sunrpc/stats.h> #include <linux/sunrpc/xdr.h> +#include <asm/signal.h> /* * This defines an RPC port mapping diff --git a/include/linux/wait.h b/include/linux/wait.h index 3503fd2226c5..186f03f015f7 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -19,24 +19,11 @@ #include <asm/page.h> #include <asm/processor.h> -/* - * Debug control. Slow but useful. - */ -#if defined(CONFIG_DEBUG_WAITQ) -#define WAITQUEUE_DEBUG 1 -#else -#define WAITQUEUE_DEBUG 0 -#endif - struct __wait_queue { unsigned int flags; #define WQ_FLAG_EXCLUSIVE 0x01 struct task_struct * task; struct list_head task_list; -#if WAITQUEUE_DEBUG - long __magic; - long __waker; -#endif }; typedef struct __wait_queue wait_queue_t; @@ -77,129 +64,47 @@ typedef struct __wait_queue wait_queue_t; struct __wait_queue_head { wq_lock_t lock; struct list_head task_list; -#if WAITQUEUE_DEBUG - long __magic; - long __creator; -#endif }; typedef struct __wait_queue_head wait_queue_head_t; /* - * Debugging macros. We eschew `do { } while (0)' because gcc can generate - * spurious .aligns. - */ -#if WAITQUEUE_DEBUG -#define WQ_BUG() BUG() -#define CHECK_MAGIC(x) \ - do { \ - if ((x) != (long)&(x)) { \ - printk("bad magic %lx (should be %lx), ", \ - (long)x, (long)&(x)); \ - WQ_BUG(); \ - } \ - } while (0) -#define CHECK_MAGIC_WQHEAD(x) \ - do { \ - if ((x)->__magic != (long)&((x)->__magic)) { \ - printk("bad magic %lx (should be %lx, creator %lx), ", \ - (x)->__magic, (long)&((x)->__magic), (x)->__creator); \ - WQ_BUG(); \ - } \ - } while (0) -#define WQ_CHECK_LIST_HEAD(list) \ - do { \ - if (!(list)->next || !(list)->prev) \ - WQ_BUG(); \ - } while(0) -#define WQ_NOTE_WAKER(tsk) \ - do { \ - (tsk)->__waker = (long)__builtin_return_address(0); \ - } while (0) -#else -#define WQ_BUG() -#define CHECK_MAGIC(x) -#define CHECK_MAGIC_WQHEAD(x) -#define WQ_CHECK_LIST_HEAD(list) -#define WQ_NOTE_WAKER(tsk) -#endif - -/* * Macros for declaration and initialisaton of the datatypes */ -#if WAITQUEUE_DEBUG -# define __WAITQUEUE_DEBUG_INIT(name) (long)&(name).__magic, 0 -# define __WAITQUEUE_HEAD_DEBUG_INIT(name) (long)&(name).__magic, (long)&(name).__magic -#else -# define __WAITQUEUE_DEBUG_INIT(name) -# define __WAITQUEUE_HEAD_DEBUG_INIT(name) -#endif - #define __WAITQUEUE_INITIALIZER(name, tsk) { \ task: tsk, \ - task_list: { NULL, NULL }, \ - __WAITQUEUE_DEBUG_INIT(name)} + task_list: { NULL, NULL } } #define DECLARE_WAITQUEUE(name, tsk) \ wait_queue_t name = __WAITQUEUE_INITIALIZER(name, tsk) #define __WAIT_QUEUE_HEAD_INITIALIZER(name) { \ lock: WAITQUEUE_RW_LOCK_UNLOCKED, \ - task_list: { &(name).task_list, &(name).task_list }, \ - __WAITQUEUE_HEAD_DEBUG_INIT(name)} + task_list: { &(name).task_list, &(name).task_list } } #define DECLARE_WAIT_QUEUE_HEAD(name) \ wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name) static inline void init_waitqueue_head(wait_queue_head_t *q) { -#if WAITQUEUE_DEBUG - if (!q) - WQ_BUG(); -#endif q->lock = WAITQUEUE_RW_LOCK_UNLOCKED; INIT_LIST_HEAD(&q->task_list); -#if WAITQUEUE_DEBUG - q->__magic = (long)&q->__magic; - q->__creator = (long)current_text_addr(); -#endif } static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p) { -#if WAITQUEUE_DEBUG - if (!q || !p) - WQ_BUG(); -#endif q->flags = 0; q->task = p; -#if WAITQUEUE_DEBUG - q->__magic = (long)&q->__magic; -#endif } static inline int waitqueue_active(wait_queue_head_t *q) { -#if WAITQUEUE_DEBUG - if (!q) - WQ_BUG(); - CHECK_MAGIC_WQHEAD(q); -#endif - return !list_empty(&q->task_list); } static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) { -#if WAITQUEUE_DEBUG - if (!head || !new) - WQ_BUG(); - CHECK_MAGIC_WQHEAD(head); - CHECK_MAGIC(new->__magic); - if (!head->task_list.next || !head->task_list.prev) - WQ_BUG(); -#endif list_add(&new->task_list, &head->task_list); } @@ -209,25 +114,12 @@ static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) static inline void __add_wait_queue_tail(wait_queue_head_t *head, wait_queue_t *new) { -#if WAITQUEUE_DEBUG - if (!head || !new) - WQ_BUG(); - CHECK_MAGIC_WQHEAD(head); - CHECK_MAGIC(new->__magic); - if (!head->task_list.next || !head->task_list.prev) - WQ_BUG(); -#endif list_add_tail(&new->task_list, &head->task_list); } static inline void __remove_wait_queue(wait_queue_head_t *head, wait_queue_t *old) { -#if WAITQUEUE_DEBUG - if (!old) - WQ_BUG(); - CHECK_MAGIC(old->__magic); -#endif list_del(&old->task_list); } |
