diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-20 15:52:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-20 15:52:55 -0500 |
commit | 828cad8ea05d194d8a9452e0793261c2024c23a2 (patch) | |
tree | 0ad7c7e044cdcfe75d78da0b52eb2358d4686e02 /kernel/signal.c | |
parent | 60c906bab124a0627fba04c9ca5e61bba4747c0c (diff) | |
parent | bb3bac2ca9a3a5b7fa601781adf70167a0449d75 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar:
"The main changes in this (fairly busy) cycle were:
- There was a class of scheduler bugs related to forgetting to update
the rq-clock timestamp which can cause weird and hard to debug
problems, so there's a new debug facility for this: which uncovered
a whole lot of bugs which convinced us that we want to keep the
debug facility.
(Peter Zijlstra, Matt Fleming)
- Various cputime related updates: eliminate cputime and use u64
nanoseconds directly, simplify and improve the arch interfaces,
implement delayed accounting more widely, etc. - (Frederic
Weisbecker)
- Move code around for better structure plus cleanups (Ingo Molnar)
- Move IO schedule accounting deeper into the scheduler plus related
changes to improve the situation (Tejun Heo)
- ... plus a round of sched/rt and sched/deadline fixes, plus other
fixes, updats and cleanups"
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (85 commits)
sched/core: Remove unlikely() annotation from sched_move_task()
sched/autogroup: Rename auto_group.[ch] to autogroup.[ch]
sched/topology: Split out scheduler topology code from core.c into topology.c
sched/core: Remove unnecessary #include headers
sched/rq_clock: Consolidate the ordering of the rq_clock methods
delayacct: Include <uapi/linux/taskstats.h>
sched/core: Clean up comments
sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
sched/clock: Add dummy clear_sched_clock_stable() stub function
sched/cputime: Remove generic asm headers
sched/cputime: Remove unused nsec_to_cputime()
s390, sched/cputime: Remove unused cputime definitions
powerpc, sched/cputime: Remove unused cputime definitions
s390, sched/cputime: Make arch_cpu_idle_time() to return nsecs
ia64, sched/cputime: Remove unused cputime definitions
ia64: Convert vtime to use nsec units directly
ia64, sched/cputime: Move the nsecs based cputime headers to the last arch using it
sched/cputime: Remove jiffies based cputime
sched/cputime, vtime: Return nsecs instead of cputime_t to account
sched/cputime: Complete nsec conversion of tick based accounting
...
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 3603d93a1968..13f9def8b24a 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -1581,7 +1581,7 @@ bool do_notify_parent(struct task_struct *tsk, int sig) | |||
1581 | unsigned long flags; | 1581 | unsigned long flags; |
1582 | struct sighand_struct *psig; | 1582 | struct sighand_struct *psig; |
1583 | bool autoreap = false; | 1583 | bool autoreap = false; |
1584 | cputime_t utime, stime; | 1584 | u64 utime, stime; |
1585 | 1585 | ||
1586 | BUG_ON(sig == -1); | 1586 | BUG_ON(sig == -1); |
1587 | 1587 | ||
@@ -1620,8 +1620,8 @@ bool do_notify_parent(struct task_struct *tsk, int sig) | |||
1620 | rcu_read_unlock(); | 1620 | rcu_read_unlock(); |
1621 | 1621 | ||
1622 | task_cputime(tsk, &utime, &stime); | 1622 | task_cputime(tsk, &utime, &stime); |
1623 | info.si_utime = cputime_to_clock_t(utime + tsk->signal->utime); | 1623 | info.si_utime = nsec_to_clock_t(utime + tsk->signal->utime); |
1624 | info.si_stime = cputime_to_clock_t(stime + tsk->signal->stime); | 1624 | info.si_stime = nsec_to_clock_t(stime + tsk->signal->stime); |
1625 | 1625 | ||
1626 | info.si_status = tsk->exit_code & 0x7f; | 1626 | info.si_status = tsk->exit_code & 0x7f; |
1627 | if (tsk->exit_code & 0x80) | 1627 | if (tsk->exit_code & 0x80) |
@@ -1685,7 +1685,7 @@ static void do_notify_parent_cldstop(struct task_struct *tsk, | |||
1685 | unsigned long flags; | 1685 | unsigned long flags; |
1686 | struct task_struct *parent; | 1686 | struct task_struct *parent; |
1687 | struct sighand_struct *sighand; | 1687 | struct sighand_struct *sighand; |
1688 | cputime_t utime, stime; | 1688 | u64 utime, stime; |
1689 | 1689 | ||
1690 | if (for_ptracer) { | 1690 | if (for_ptracer) { |
1691 | parent = tsk->parent; | 1691 | parent = tsk->parent; |
@@ -1705,8 +1705,8 @@ static void do_notify_parent_cldstop(struct task_struct *tsk, | |||
1705 | rcu_read_unlock(); | 1705 | rcu_read_unlock(); |
1706 | 1706 | ||
1707 | task_cputime(tsk, &utime, &stime); | 1707 | task_cputime(tsk, &utime, &stime); |
1708 | info.si_utime = cputime_to_clock_t(utime); | 1708 | info.si_utime = nsec_to_clock_t(utime); |
1709 | info.si_stime = cputime_to_clock_t(stime); | 1709 | info.si_stime = nsec_to_clock_t(stime); |
1710 | 1710 | ||
1711 | info.si_code = why; | 1711 | info.si_code = why; |
1712 | switch (why) { | 1712 | switch (why) { |