Re: [tip:perf/core] perf/x86: Move perf_event.c ............... => x86/events/core.c
From: Ingo Molnar
Date: Tue Feb 09 2016 - 09:06:03 EST
* Vince Weaver <vincent.weaver@xxxxxxxxx> wrote:
> On Tue, 9 Feb 2016, tip-bot for Borislav Petkov wrote:
>
> > Commit-ID: fa9cbf320e996eaa3d219344b6f7013b096cafd9
> > Gitweb: http://git.kernel.org/tip/fa9cbf320e996eaa3d219344b6f7013b096cafd9
> > Author: Borislav Petkov <bp@xxxxxxx>
> > AuthorDate: Mon, 8 Feb 2016 17:09:04 +0100
> > Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> > CommitDate: Tue, 9 Feb 2016 10:23:49 +0100
> >
> > perf/x86: Move perf_event.c ............... => x86/events/core.c
> >
> > Also, keep the churn at minimum by adjusting the include "perf_event.h"
> > when each file gets moved.
>
> I have to admit I've been falling behind on my lkml reading, but is there
> a good reason for moving all these files around?
Yeah, as the PMU drivers grew organically the naming scheme became a bit messy:
- for example the uncore drivers are under kernel/cpu/, although they are not
bound to CPUs.
- separation between various vendor drivers is not always chrystal clear.
- the 'kernel/' subdirectory is a needless anachronism, we try to move bits out
of it when the opportunity presents itself.
- the new naming also better follows the core kernel/events/ perf code.
I presume after this round of patches is in, Boris will send another round to
reorganize the Intel PMU drivers as well.
> I'm often using "git blame" to track down when bugs are introduced, and it's a
> big pain trying to do that across file moves like this. Although that's maybe
> just due to difficiencies in my git usage skills.
It seems to work reasonably well here:
241771ef016b5 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2008-12-03 10:39:53 +0100 1) /*
cdd6c482c9ff9 arch/x86/kernel/cpu/perf_event.c (Ingo Molnar 2009-09-21 12:02:48 +0200 2) * Performance events x86 architecture code
241771ef016b5 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2008-12-03 10:39:53 +0100 3) *
98144511427c1 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2009-04-29 14:52:50 +0200 4) * Copyright (C) 2008 Thomas Gleixner <tglx@xxxxxxxxxxxxx>
98144511427c1 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2009-04-29 14:52:50 +0200 5) * Copyright (C) 2008-2009 Red Hat, Inc., Ingo Molnar
98144511427c1 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2009-04-29 14:52:50 +0200 6) * Copyright (C) 2009 Jaswinder Singh Rajput
98144511427c1 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2009-04-29 14:52:50 +0200 7) * Copyright (C) 2009 Advanced Micro Devices, Inc., Robert Richter
90eec103b96e3 arch/x86/kernel/cpu/perf_event.c (Peter Zijlstra 2015-11-16 11:08:45 +0100 8) * Copyright (C) 2008-2009 Red Hat, Inc., Peter Zijlstra
30dd568c91260 arch/x86/kernel/cpu/perf_counter.c (Markus Metzger 2009-07-21 15:56:48 +0200 9) * Copyright (C) 2009 Intel Corporation, <markus.t.metzger@xxxxxxxxx>
1da53e023029c arch/x86/kernel/cpu/perf_event.c (Stephane Eranian 2010-01-18 10:58:01 +0200 10) * Copyright (C) 2009 Google, Inc., Stephane Eranian
241771ef016b5 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2008-12-03 10:39:53 +0100 11) *
241771ef016b5 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2008-12-03 10:39:53 +0100 12) * For licencing details see kernel-base/COPYING
241771ef016b5 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2008-12-03 10:39:53 +0100 13) */
241771ef016b5 arch/x86/kernel/cpu/perf_counter.c (Ingo Molnar 2008-12-03 10:39:53 +0100 14)
[...]
c48b60538c3ba arch/x86/kernel/cpu/perf_event.c (Vince Weaver 2012-03-01 17:28:14 -0500 84) rdpmcl(hwc->event_base_rdpmc, new_raw_count);
see for example how Git still knows that we had a
arch/x86/kernel/cpu/perf_counter.c initial file name.
Or how you did an optimization in c48b60538c3ba when the file was already named
cpu/perf_event.c! :-)
Thanks,
Ingo