On 03/08/2016 12:02 PM, Tetsuo Handa wrote: > Since we assigned mm = victim->mm before pr_err(), > we don't need to dereference victim->mm again at pr_err(). > This saves a few instructions. That sounds obvious, right. Yet once in a while I try to test these for fun, and there can be indeed surprises :) ./scripts/bloat-o-meter says: add/remove: 0/0 grow/shrink: 1/0 up/down: 1/0 (1) function old new delta oom_kill_process 1085 1086 +1 a naive asmdiff is too complicated to follow but it seems from the number of lines that indeed there are less instructions in your case, but still the code is a bit larger. Just a reminder that compilers can be quite counter-intuitive. Anyway, a liquid-helium-path like this probably doesn't need such microoptimisations as an extra patch, given the ongoing churn in the oom area? > Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > --- > mm/oom_kill.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index c84e784..1808db32 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -756,10 +756,10 @@ void oom_kill_process(struct oom_control *oc, struct task_struct *p, > do_send_sig_info(SIGKILL, SEND_SIG_FORCED, victim, true); > mark_oom_victim(victim); > pr_err("Killed process %d (%s) total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB\n", > - task_pid_nr(victim), victim->comm, K(victim->mm->total_vm), > - K(get_mm_counter(victim->mm, MM_ANONPAGES)), > - K(get_mm_counter(victim->mm, MM_FILEPAGES)), > - K(get_mm_counter(victim->mm, MM_SHMEMPAGES))); > + task_pid_nr(victim), victim->comm, K(mm->total_vm), > + K(get_mm_counter(mm, MM_ANONPAGES)), > + K(get_mm_counter(mm, MM_FILEPAGES)), > + K(get_mm_counter(mm, MM_SHMEMPAGES))); > task_unlock(victim); > > /* > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>