diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-03-11 19:21:17 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-11 19:21:17 -0500 |
commit | ce1e7a2ac721eb9d825b63f74752d0c9e0c635c2 (patch) | |
tree | a7c0d18d6486734dffb9498e30db5b226b6e23bf /include/linux | |
parent | c2956a3b0d1c17b38da369811a6ce93eb7a01a04 (diff) | |
parent | 75deb6fa985bd3162b9472f1fc394e23294da816 (diff) |
Merge branch 'upstream'
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/compat_ioctl.h | 2 | ||||
-rw-r--r-- | include/linux/file.h | 2 | ||||
-rw-r--r-- | include/linux/fs.h | 6 | ||||
-rw-r--r-- | include/linux/gfp.h | 4 | ||||
-rw-r--r-- | include/linux/hrtimer.h | 4 | ||||
-rw-r--r-- | include/linux/kmalloc_sizes.h | 4 | ||||
-rw-r--r-- | include/linux/libata.h | 36 | ||||
-rw-r--r-- | include/linux/memory_hotplug.h | 4 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 2 | ||||
-rw-r--r-- | include/linux/percpu_counter.h | 6 | ||||
-rw-r--r-- | include/linux/rcupdate.h | 6 | ||||
-rw-r--r-- | include/linux/reiserfs_fs.h | 2 | ||||
-rw-r--r-- | include/linux/sched.h | 1 |
13 files changed, 58 insertions, 21 deletions
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h index 8fad50f8e389..ae7dfb790df3 100644 --- a/include/linux/compat_ioctl.h +++ b/include/linux/compat_ioctl.h | |||
@@ -696,6 +696,8 @@ COMPATIBLE_IOCTL(MEMLOCK) | |||
696 | COMPATIBLE_IOCTL(MEMUNLOCK) | 696 | COMPATIBLE_IOCTL(MEMUNLOCK) |
697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) | 697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) |
698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) | 698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) |
699 | COMPATIBLE_IOCTL(MEMGETBADBLOCK) | ||
700 | COMPATIBLE_IOCTL(MEMSETBADBLOCK) | ||
699 | /* NBD */ | 701 | /* NBD */ |
700 | ULONG_IOCTL(NBD_SET_SOCK) | 702 | ULONG_IOCTL(NBD_SET_SOCK) |
701 | ULONG_IOCTL(NBD_SET_BLKSIZE) | 703 | ULONG_IOCTL(NBD_SET_BLKSIZE) |
diff --git a/include/linux/file.h b/include/linux/file.h index 418b6101b59a..9901b850f2e4 100644 --- a/include/linux/file.h +++ b/include/linux/file.h | |||
@@ -60,8 +60,6 @@ extern void put_filp(struct file *); | |||
60 | extern int get_unused_fd(void); | 60 | extern int get_unused_fd(void); |
61 | extern void FASTCALL(put_unused_fd(unsigned int fd)); | 61 | extern void FASTCALL(put_unused_fd(unsigned int fd)); |
62 | struct kmem_cache; | 62 | struct kmem_cache; |
63 | extern void filp_ctor(void * objp, struct kmem_cache *cachep, unsigned long cflags); | ||
64 | extern void filp_dtor(void * objp, struct kmem_cache *cachep, unsigned long dflags); | ||
65 | 63 | ||
66 | extern struct file ** alloc_fd_array(int); | 64 | extern struct file ** alloc_fd_array(int); |
67 | extern void free_fd_array(struct file **, int); | 65 | extern void free_fd_array(struct file **, int); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index e059da947007..128d0082522c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -35,6 +35,7 @@ struct files_stat_struct { | |||
35 | int max_files; /* tunable */ | 35 | int max_files; /* tunable */ |
36 | }; | 36 | }; |
37 | extern struct files_stat_struct files_stat; | 37 | extern struct files_stat_struct files_stat; |
38 | extern int get_max_files(void); | ||
38 | 39 | ||
39 | struct inodes_stat_t { | 40 | struct inodes_stat_t { |
40 | int nr_inodes; | 41 | int nr_inodes; |
@@ -1418,9 +1419,6 @@ extern int is_bad_inode(struct inode *); | |||
1418 | extern struct file_operations read_fifo_fops; | 1419 | extern struct file_operations read_fifo_fops; |
1419 | extern struct file_operations write_fifo_fops; | 1420 | extern struct file_operations write_fifo_fops; |
1420 | extern struct file_operations rdwr_fifo_fops; | 1421 | extern struct file_operations rdwr_fifo_fops; |
1421 | extern struct file_operations read_pipe_fops; | ||
1422 | extern struct file_operations write_pipe_fops; | ||
1423 | extern struct file_operations rdwr_pipe_fops; | ||
1424 | 1422 | ||
1425 | extern int fs_may_remount_ro(struct super_block *); | 1423 | extern int fs_may_remount_ro(struct super_block *); |
1426 | 1424 | ||
@@ -1666,6 +1664,8 @@ extern int vfs_follow_link(struct nameidata *, const char *); | |||
1666 | extern int page_readlink(struct dentry *, char __user *, int); | 1664 | extern int page_readlink(struct dentry *, char __user *, int); |
1667 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); | 1665 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); |
1668 | extern void page_put_link(struct dentry *, struct nameidata *, void *); | 1666 | extern void page_put_link(struct dentry *, struct nameidata *, void *); |
1667 | extern int __page_symlink(struct inode *inode, const char *symname, int len, | ||
1668 | gfp_t gfp_mask); | ||
1669 | extern int page_symlink(struct inode *inode, const char *symname, int len); | 1669 | extern int page_symlink(struct inode *inode, const char *symname, int len); |
1670 | extern struct inode_operations page_symlink_inode_operations; | 1670 | extern struct inode_operations page_symlink_inode_operations; |
1671 | extern int generic_readlink(struct dentry *, char __user *, int); | 1671 | extern int generic_readlink(struct dentry *, char __user *, int); |
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 20f9148e38d9..7851e6b520cf 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
@@ -157,9 +157,9 @@ extern void FASTCALL(free_cold_page(struct page *page)); | |||
157 | 157 | ||
158 | void page_alloc_init(void); | 158 | void page_alloc_init(void); |
159 | #ifdef CONFIG_NUMA | 159 | #ifdef CONFIG_NUMA |
160 | void drain_remote_pages(void); | 160 | void drain_node_pages(int node); |
161 | #else | 161 | #else |
162 | static inline void drain_remote_pages(void) { }; | 162 | static inline void drain_node_pages(int node) { }; |
163 | #endif | 163 | #endif |
164 | 164 | ||
165 | #endif /* __LINUX_GFP_H */ | 165 | #endif /* __LINUX_GFP_H */ |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 6361544bb6ae..6401c31d6add 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -116,6 +116,10 @@ extern int hrtimer_try_to_cancel(struct hrtimer *timer); | |||
116 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); | 116 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); |
117 | extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); | 117 | extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); |
118 | 118 | ||
119 | #ifdef CONFIG_NO_IDLE_HZ | ||
120 | extern ktime_t hrtimer_get_next_event(void); | ||
121 | #endif | ||
122 | |||
119 | static inline int hrtimer_active(const struct hrtimer *timer) | 123 | static inline int hrtimer_active(const struct hrtimer *timer) |
120 | { | 124 | { |
121 | return timer->state == HRTIMER_PENDING; | 125 | return timer->state == HRTIMER_PENDING; |
diff --git a/include/linux/kmalloc_sizes.h b/include/linux/kmalloc_sizes.h index d82d4c05c12d..bda23e00ed71 100644 --- a/include/linux/kmalloc_sizes.h +++ b/include/linux/kmalloc_sizes.h | |||
@@ -19,8 +19,10 @@ | |||
19 | CACHE(32768) | 19 | CACHE(32768) |
20 | CACHE(65536) | 20 | CACHE(65536) |
21 | CACHE(131072) | 21 | CACHE(131072) |
22 | #ifndef CONFIG_MMU | 22 | #if (NR_CPUS > 512) || (MAX_NUMNODES > 256) || !defined(CONFIG_MMU) |
23 | CACHE(262144) | 23 | CACHE(262144) |
24 | #endif | ||
25 | #ifndef CONFIG_MMU | ||
24 | CACHE(524288) | 26 | CACHE(524288) |
25 | CACHE(1048576) | 27 | CACHE(1048576) |
26 | #ifdef CONFIG_LARGE_ALLOCS | 28 | #ifdef CONFIG_LARGE_ALLOCS |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 2558abac9fb2..d051a823758b 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -152,7 +152,7 @@ enum { | |||
152 | ATA_FLAG_PIO_LBA48 = (1 << 13), /* Host DMA engine is LBA28 only */ | 152 | ATA_FLAG_PIO_LBA48 = (1 << 13), /* Host DMA engine is LBA28 only */ |
153 | ATA_FLAG_IRQ_MASK = (1 << 14), /* Mask IRQ in PIO xfers */ | 153 | ATA_FLAG_IRQ_MASK = (1 << 14), /* Mask IRQ in PIO xfers */ |
154 | 154 | ||
155 | ATA_FLAG_FLUSH_PIO_TASK = (1 << 15), /* Flush PIO task */ | 155 | ATA_FLAG_FLUSH_PORT_TASK = (1 << 15), /* Flush port task */ |
156 | ATA_FLAG_IN_EH = (1 << 16), /* EH in progress */ | 156 | ATA_FLAG_IN_EH = (1 << 16), /* EH in progress */ |
157 | 157 | ||
158 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ | 158 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ |
@@ -191,11 +191,19 @@ enum { | |||
191 | PORT_DISABLED = 2, | 191 | PORT_DISABLED = 2, |
192 | 192 | ||
193 | /* encoding various smaller bitmaps into a single | 193 | /* encoding various smaller bitmaps into a single |
194 | * unsigned long bitmap | 194 | * unsigned int bitmap |
195 | */ | 195 | */ |
196 | ATA_SHIFT_UDMA = 0, | 196 | ATA_BITS_PIO = 5, |
197 | ATA_SHIFT_MWDMA = 8, | 197 | ATA_BITS_MWDMA = 3, |
198 | ATA_SHIFT_PIO = 11, | 198 | ATA_BITS_UDMA = 8, |
199 | |||
200 | ATA_SHIFT_PIO = 0, | ||
201 | ATA_SHIFT_MWDMA = ATA_SHIFT_PIO + ATA_BITS_PIO, | ||
202 | ATA_SHIFT_UDMA = ATA_SHIFT_MWDMA + ATA_BITS_MWDMA, | ||
203 | |||
204 | ATA_MASK_PIO = ((1 << ATA_BITS_PIO) - 1) << ATA_SHIFT_PIO, | ||
205 | ATA_MASK_MWDMA = ((1 << ATA_BITS_MWDMA) - 1) << ATA_SHIFT_MWDMA, | ||
206 | ATA_MASK_UDMA = ((1 << ATA_BITS_UDMA) - 1) << ATA_SHIFT_UDMA, | ||
199 | 207 | ||
200 | /* size of buffer to pad xfers ending on unaligned boundaries */ | 208 | /* size of buffer to pad xfers ending on unaligned boundaries */ |
201 | ATA_DMA_PAD_SZ = 4, | 209 | ATA_DMA_PAD_SZ = 4, |
@@ -344,7 +352,7 @@ struct ata_device { | |||
344 | unsigned long flags; /* ATA_DFLAG_xxx */ | 352 | unsigned long flags; /* ATA_DFLAG_xxx */ |
345 | unsigned int class; /* ATA_DEV_xxx */ | 353 | unsigned int class; /* ATA_DEV_xxx */ |
346 | unsigned int devno; /* 0 or 1 */ | 354 | unsigned int devno; /* 0 or 1 */ |
347 | u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ | 355 | u16 *id; /* IDENTIFY xxx DEVICE data */ |
348 | u8 pio_mode; | 356 | u8 pio_mode; |
349 | u8 dma_mode; | 357 | u8 dma_mode; |
350 | u8 xfer_mode; | 358 | u8 xfer_mode; |
@@ -393,7 +401,8 @@ struct ata_port { | |||
393 | struct ata_host_stats stats; | 401 | struct ata_host_stats stats; |
394 | struct ata_host_set *host_set; | 402 | struct ata_host_set *host_set; |
395 | 403 | ||
396 | struct work_struct pio_task; | 404 | struct work_struct port_task; |
405 | |||
397 | unsigned int hsm_task_state; | 406 | unsigned int hsm_task_state; |
398 | unsigned long pio_task_timeout; | 407 | unsigned long pio_task_timeout; |
399 | 408 | ||
@@ -488,6 +497,8 @@ extern int ata_std_softreset(struct ata_port *ap, int verbose, | |||
488 | extern int sata_std_hardreset(struct ata_port *ap, int verbose, | 497 | extern int sata_std_hardreset(struct ata_port *ap, int verbose, |
489 | unsigned int *class); | 498 | unsigned int *class); |
490 | extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes); | 499 | extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes); |
500 | extern int ata_dev_revalidate(struct ata_port *ap, struct ata_device *dev, | ||
501 | int post_reset); | ||
491 | extern void ata_port_disable(struct ata_port *); | 502 | extern void ata_port_disable(struct ata_port *); |
492 | extern void ata_std_ports(struct ata_ioports *ioaddr); | 503 | extern void ata_std_ports(struct ata_ioports *ioaddr); |
493 | #ifdef CONFIG_PCI | 504 | #ifdef CONFIG_PCI |
@@ -516,6 +527,8 @@ extern int ata_ratelimit(void); | |||
516 | extern unsigned int ata_busy_sleep(struct ata_port *ap, | 527 | extern unsigned int ata_busy_sleep(struct ata_port *ap, |
517 | unsigned long timeout_pat, | 528 | unsigned long timeout_pat, |
518 | unsigned long timeout); | 529 | unsigned long timeout); |
530 | extern void ata_port_queue_task(struct ata_port *ap, void (*fn)(void *), | ||
531 | void *data, unsigned long delay); | ||
519 | 532 | ||
520 | /* | 533 | /* |
521 | * Default driver ops implementations | 534 | * Default driver ops implementations |
@@ -545,7 +558,6 @@ extern void ata_id_string(const u16 *id, unsigned char *s, | |||
545 | unsigned int ofs, unsigned int len); | 558 | unsigned int ofs, unsigned int len); |
546 | extern void ata_id_c_string(const u16 *id, unsigned char *s, | 559 | extern void ata_id_c_string(const u16 *id, unsigned char *s, |
547 | unsigned int ofs, unsigned int len); | 560 | unsigned int ofs, unsigned int len); |
548 | extern void ata_dev_config(struct ata_port *ap, unsigned int i); | ||
549 | extern void ata_bmdma_setup (struct ata_queued_cmd *qc); | 561 | extern void ata_bmdma_setup (struct ata_queued_cmd *qc); |
550 | extern void ata_bmdma_start (struct ata_queued_cmd *qc); | 562 | extern void ata_bmdma_start (struct ata_queued_cmd *qc); |
551 | extern void ata_bmdma_stop(struct ata_queued_cmd *qc); | 563 | extern void ata_bmdma_stop(struct ata_queued_cmd *qc); |
@@ -648,10 +660,14 @@ static inline unsigned int ata_tag_valid(unsigned int tag) | |||
648 | return (tag < ATA_MAX_QUEUE) ? 1 : 0; | 660 | return (tag < ATA_MAX_QUEUE) ? 1 : 0; |
649 | } | 661 | } |
650 | 662 | ||
663 | static inline unsigned int ata_class_present(unsigned int class) | ||
664 | { | ||
665 | return class == ATA_DEV_ATA || class == ATA_DEV_ATAPI; | ||
666 | } | ||
667 | |||
651 | static inline unsigned int ata_dev_present(const struct ata_device *dev) | 668 | static inline unsigned int ata_dev_present(const struct ata_device *dev) |
652 | { | 669 | { |
653 | return ((dev->class == ATA_DEV_ATA) || | 670 | return ata_class_present(dev->class); |
654 | (dev->class == ATA_DEV_ATAPI)); | ||
655 | } | 671 | } |
656 | 672 | ||
657 | static inline u8 ata_chk_status(struct ata_port *ap) | 673 | static inline u8 ata_chk_status(struct ata_port *ap) |
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index 01f03bc06eff..968b1aa3732c 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h | |||
@@ -6,6 +6,10 @@ | |||
6 | #include <linux/mmzone.h> | 6 | #include <linux/mmzone.h> |
7 | #include <linux/notifier.h> | 7 | #include <linux/notifier.h> |
8 | 8 | ||
9 | struct page; | ||
10 | struct zone; | ||
11 | struct pglist_data; | ||
12 | |||
9 | #ifdef CONFIG_MEMORY_HOTPLUG | 13 | #ifdef CONFIG_MEMORY_HOTPLUG |
10 | /* | 14 | /* |
11 | * pgdat resizing functions | 15 | * pgdat resizing functions |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 82b83da25d77..1709b5009d2e 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1752,6 +1752,8 @@ | |||
1752 | #define PCI_DEVICE_ID_CCD_B00B 0xb00b | 1752 | #define PCI_DEVICE_ID_CCD_B00B 0xb00b |
1753 | #define PCI_DEVICE_ID_CCD_B00C 0xb00c | 1753 | #define PCI_DEVICE_ID_CCD_B00C 0xb00c |
1754 | #define PCI_DEVICE_ID_CCD_B100 0xb100 | 1754 | #define PCI_DEVICE_ID_CCD_B100 0xb100 |
1755 | #define PCI_DEVICE_ID_CCD_B700 0xb700 | ||
1756 | #define PCI_DEVICE_ID_CCD_B701 0xb701 | ||
1755 | 1757 | ||
1756 | #define PCI_VENDOR_ID_EXAR 0x13a8 | 1758 | #define PCI_VENDOR_ID_EXAR 0x13a8 |
1757 | #define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 | 1759 | #define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 |
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h index bd6708e2c027..682525511c9e 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h | |||
@@ -39,6 +39,7 @@ static inline void percpu_counter_destroy(struct percpu_counter *fbc) | |||
39 | } | 39 | } |
40 | 40 | ||
41 | void percpu_counter_mod(struct percpu_counter *fbc, long amount); | 41 | void percpu_counter_mod(struct percpu_counter *fbc, long amount); |
42 | long percpu_counter_sum(struct percpu_counter *fbc); | ||
42 | 43 | ||
43 | static inline long percpu_counter_read(struct percpu_counter *fbc) | 44 | static inline long percpu_counter_read(struct percpu_counter *fbc) |
44 | { | 45 | { |
@@ -92,6 +93,11 @@ static inline long percpu_counter_read_positive(struct percpu_counter *fbc) | |||
92 | return fbc->count; | 93 | return fbc->count; |
93 | } | 94 | } |
94 | 95 | ||
96 | static inline long percpu_counter_sum(struct percpu_counter *fbc) | ||
97 | { | ||
98 | return percpu_counter_read_positive(fbc); | ||
99 | } | ||
100 | |||
95 | #endif /* CONFIG_SMP */ | 101 | #endif /* CONFIG_SMP */ |
96 | 102 | ||
97 | static inline void percpu_counter_inc(struct percpu_counter *fbc) | 103 | static inline void percpu_counter_inc(struct percpu_counter *fbc) |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index b87aefa082e2..c2ec6c77874e 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -98,13 +98,17 @@ struct rcu_data { | |||
98 | long batch; /* Batch # for current RCU batch */ | 98 | long batch; /* Batch # for current RCU batch */ |
99 | struct rcu_head *nxtlist; | 99 | struct rcu_head *nxtlist; |
100 | struct rcu_head **nxttail; | 100 | struct rcu_head **nxttail; |
101 | long count; /* # of queued items */ | 101 | long qlen; /* # of queued callbacks */ |
102 | struct rcu_head *curlist; | 102 | struct rcu_head *curlist; |
103 | struct rcu_head **curtail; | 103 | struct rcu_head **curtail; |
104 | struct rcu_head *donelist; | 104 | struct rcu_head *donelist; |
105 | struct rcu_head **donetail; | 105 | struct rcu_head **donetail; |
106 | long blimit; /* Upper limit on a processed batch */ | ||
106 | int cpu; | 107 | int cpu; |
107 | struct rcu_head barrier; | 108 | struct rcu_head barrier; |
109 | #ifdef CONFIG_SMP | ||
110 | long last_rs_qlen; /* qlen during the last resched */ | ||
111 | #endif | ||
108 | }; | 112 | }; |
109 | 113 | ||
110 | DECLARE_PER_CPU(struct rcu_data, rcu_data); | 114 | DECLARE_PER_CPU(struct rcu_data, rcu_data); |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index 7d51149bd793..dad78cecfd20 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
@@ -1052,7 +1052,7 @@ struct reiserfs_dir_entry { | |||
1052 | int de_entrylen; | 1052 | int de_entrylen; |
1053 | int de_namelen; | 1053 | int de_namelen; |
1054 | char *de_name; | 1054 | char *de_name; |
1055 | char *de_gen_number_bit_string; | 1055 | unsigned long *de_gen_number_bit_string; |
1056 | 1056 | ||
1057 | __u32 de_dir_id; | 1057 | __u32 de_dir_id; |
1058 | __u32 de_objectid; | 1058 | __u32 de_objectid; |
diff --git a/include/linux/sched.h b/include/linux/sched.h index ff2e09c953b9..62e6314382f0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -892,7 +892,6 @@ static inline int pid_alive(struct task_struct *p) | |||
892 | } | 892 | } |
893 | 893 | ||
894 | extern void free_task(struct task_struct *tsk); | 894 | extern void free_task(struct task_struct *tsk); |
895 | extern void __put_task_struct(struct task_struct *tsk); | ||
896 | #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) | 895 | #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) |
897 | 896 | ||
898 | extern void __put_task_struct_cb(struct rcu_head *rhp); | 897 | extern void __put_task_struct_cb(struct rcu_head *rhp); |