diff options
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index c9045815e62e..6f7c9a4d80e5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -436,7 +436,7 @@ struct signal_struct { | |||
436 | 436 | ||
437 | /* job control IDs */ | 437 | /* job control IDs */ |
438 | pid_t pgrp; | 438 | pid_t pgrp; |
439 | pid_t tty_old_pgrp; | 439 | struct pid *tty_old_pgrp; |
440 | 440 | ||
441 | union { | 441 | union { |
442 | pid_t session __deprecated; | 442 | pid_t session __deprecated; |
@@ -1013,8 +1013,10 @@ struct task_struct { | |||
1013 | * to a stack based synchronous wait) if its doing sync IO. | 1013 | * to a stack based synchronous wait) if its doing sync IO. |
1014 | */ | 1014 | */ |
1015 | wait_queue_t *io_wait; | 1015 | wait_queue_t *io_wait; |
1016 | #ifdef CONFIG_TASK_XACCT | ||
1016 | /* i/o counters(bytes read/written, #syscalls */ | 1017 | /* i/o counters(bytes read/written, #syscalls */ |
1017 | u64 rchar, wchar, syscr, syscw; | 1018 | u64 rchar, wchar, syscr, syscw; |
1019 | #endif | ||
1018 | struct task_io_accounting ioac; | 1020 | struct task_io_accounting ioac; |
1019 | #if defined(CONFIG_TASK_XACCT) | 1021 | #if defined(CONFIG_TASK_XACCT) |
1020 | u64 acct_rss_mem1; /* accumulated rss usage */ | 1022 | u64 acct_rss_mem1; /* accumulated rss usage */ |
@@ -1327,15 +1329,12 @@ extern int kill_pid_info(int sig, struct siginfo *info, struct pid *pid); | |||
1327 | extern int kill_pid_info_as_uid(int, struct siginfo *, struct pid *, uid_t, uid_t, u32); | 1329 | extern int kill_pid_info_as_uid(int, struct siginfo *, struct pid *, uid_t, uid_t, u32); |
1328 | extern int kill_pgrp(struct pid *pid, int sig, int priv); | 1330 | extern int kill_pgrp(struct pid *pid, int sig, int priv); |
1329 | extern int kill_pid(struct pid *pid, int sig, int priv); | 1331 | extern int kill_pid(struct pid *pid, int sig, int priv); |
1330 | extern int __kill_pg_info(int sig, struct siginfo *info, pid_t pgrp); | ||
1331 | extern int kill_pg_info(int, struct siginfo *, pid_t); | ||
1332 | extern int kill_proc_info(int, struct siginfo *, pid_t); | 1332 | extern int kill_proc_info(int, struct siginfo *, pid_t); |
1333 | extern void do_notify_parent(struct task_struct *, int); | 1333 | extern void do_notify_parent(struct task_struct *, int); |
1334 | extern void force_sig(int, struct task_struct *); | 1334 | extern void force_sig(int, struct task_struct *); |
1335 | extern void force_sig_specific(int, struct task_struct *); | 1335 | extern void force_sig_specific(int, struct task_struct *); |
1336 | extern int send_sig(int, struct task_struct *, int); | 1336 | extern int send_sig(int, struct task_struct *, int); |
1337 | extern void zap_other_threads(struct task_struct *p); | 1337 | extern void zap_other_threads(struct task_struct *p); |
1338 | extern int kill_pg(pid_t, int, int); | ||
1339 | extern int kill_proc(pid_t, int, int); | 1338 | extern int kill_proc(pid_t, int, int); |
1340 | extern struct sigqueue *sigqueue_alloc(void); | 1339 | extern struct sigqueue *sigqueue_alloc(void); |
1341 | extern void sigqueue_free(struct sigqueue *); | 1340 | extern void sigqueue_free(struct sigqueue *); |
@@ -1650,6 +1649,44 @@ extern int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls); | |||
1650 | 1649 | ||
1651 | extern void normalize_rt_tasks(void); | 1650 | extern void normalize_rt_tasks(void); |
1652 | 1651 | ||
1652 | #ifdef CONFIG_TASK_XACCT | ||
1653 | static inline void add_rchar(struct task_struct *tsk, ssize_t amt) | ||
1654 | { | ||
1655 | tsk->rchar += amt; | ||
1656 | } | ||
1657 | |||
1658 | static inline void add_wchar(struct task_struct *tsk, ssize_t amt) | ||
1659 | { | ||
1660 | tsk->wchar += amt; | ||
1661 | } | ||
1662 | |||
1663 | static inline void inc_syscr(struct task_struct *tsk) | ||
1664 | { | ||
1665 | tsk->syscr++; | ||
1666 | } | ||
1667 | |||
1668 | static inline void inc_syscw(struct task_struct *tsk) | ||
1669 | { | ||
1670 | tsk->syscw++; | ||
1671 | } | ||
1672 | #else | ||
1673 | static inline void add_rchar(struct task_struct *tsk, ssize_t amt) | ||
1674 | { | ||
1675 | } | ||
1676 | |||
1677 | static inline void add_wchar(struct task_struct *tsk, ssize_t amt) | ||
1678 | { | ||
1679 | } | ||
1680 | |||
1681 | static inline void inc_syscr(struct task_struct *tsk) | ||
1682 | { | ||
1683 | } | ||
1684 | |||
1685 | static inline void inc_syscw(struct task_struct *tsk) | ||
1686 | { | ||
1687 | } | ||
1688 | #endif | ||
1689 | |||
1653 | #endif /* __KERNEL__ */ | 1690 | #endif /* __KERNEL__ */ |
1654 | 1691 | ||
1655 | #endif | 1692 | #endif |