]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
getrusage: add the "signal_struct *sig" local variable
authorOleg Nesterov <oleg@redhat.com>
Sat, 9 Sep 2023 17:25:54 +0000 (19:25 +0200)
committerSasha Levin <sashal@kernel.org>
Fri, 15 Mar 2024 14:48:21 +0000 (10:48 -0400)
[ Upstream commit c7ac8231ace9b07306d0299969e42073b189c70a ]

No functional changes, cleanup/preparation.

Link: https://lkml.kernel.org/r/20230909172554.GA20441@redhat.com
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stable-dep-of: daa694e41375 ("getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/sys.c

index c85e1abf7b7c79cfc5ee617b0d3f8e2f4ac7f238..177155ba50cd331025bf1431c11ca4b9861b301e 100644 (file)
@@ -1779,6 +1779,7 @@ void getrusage(struct task_struct *p, int who, struct rusage *r)
        unsigned long flags;
        u64 tgutime, tgstime, utime, stime;
        unsigned long maxrss = 0;
+       struct signal_struct *sig = p->signal;
 
        memset((char *)r, 0, sizeof (*r));
        utime = stime = 0;
@@ -1786,7 +1787,7 @@ void getrusage(struct task_struct *p, int who, struct rusage *r)
        if (who == RUSAGE_THREAD) {
                task_cputime_adjusted(current, &utime, &stime);
                accumulate_thread_rusage(p, r);
-               maxrss = p->signal->maxrss;
+               maxrss = sig->maxrss;
                goto out;
        }
 
@@ -1796,15 +1797,15 @@ void getrusage(struct task_struct *p, int who, struct rusage *r)
        switch (who) {
        case RUSAGE_BOTH:
        case RUSAGE_CHILDREN:
-               utime = p->signal->cutime;
-               stime = p->signal->cstime;
-               r->ru_nvcsw = p->signal->cnvcsw;
-               r->ru_nivcsw = p->signal->cnivcsw;
-               r->ru_minflt = p->signal->cmin_flt;
-               r->ru_majflt = p->signal->cmaj_flt;
-               r->ru_inblock = p->signal->cinblock;
-               r->ru_oublock = p->signal->coublock;
-               maxrss = p->signal->cmaxrss;
+               utime = sig->cutime;
+               stime = sig->cstime;
+               r->ru_nvcsw = sig->cnvcsw;
+               r->ru_nivcsw = sig->cnivcsw;
+               r->ru_minflt = sig->cmin_flt;
+               r->ru_majflt = sig->cmaj_flt;
+               r->ru_inblock = sig->cinblock;
+               r->ru_oublock = sig->coublock;
+               maxrss = sig->cmaxrss;
 
                if (who == RUSAGE_CHILDREN)
                        break;
@@ -1814,14 +1815,14 @@ void getrusage(struct task_struct *p, int who, struct rusage *r)
                thread_group_cputime_adjusted(p, &tgutime, &tgstime);
                utime += tgutime;
                stime += tgstime;
-               r->ru_nvcsw += p->signal->nvcsw;
-               r->ru_nivcsw += p->signal->nivcsw;
-               r->ru_minflt += p->signal->min_flt;
-               r->ru_majflt += p->signal->maj_flt;
-               r->ru_inblock += p->signal->inblock;
-               r->ru_oublock += p->signal->oublock;
-               if (maxrss < p->signal->maxrss)
-                       maxrss = p->signal->maxrss;
+               r->ru_nvcsw += sig->nvcsw;
+               r->ru_nivcsw += sig->nivcsw;
+               r->ru_minflt += sig->min_flt;
+               r->ru_majflt += sig->maj_flt;
+               r->ru_inblock += sig->inblock;
+               r->ru_oublock += sig->oublock;
+               if (maxrss < sig->maxrss)
+                       maxrss = sig->maxrss;
                t = p;
                do {
                        accumulate_thread_rusage(t, r);