On Mon, 30 Sep 2013 12:00:36 -0700
Zi Shen Lim <zishen.lim(a)linaro.org> wrote:
> On Mon, Sep 30, 2013 at 12:03 PM, Anders Roxell
> <anders.roxell(a)linaro.org> wrote:
> > Hi,
> >
> > On 2013-09-30 11:48, Zi Shen Lim wrote:
> >> Signed-off-by: Zi Shen Lim <zishen.lim(a)linaro.org>
> >> ---
> >> linaro/configs/linaro-base.conf | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/linaro/configs/linaro-base.conf b/linaro/configs/linaro-base.conf
> >> index 947ca1f..0093640 100644
> >> --- a/linaro/configs/linaro-base.conf
> >> +++ b/linaro/configs/linaro-base.conf
> >> @@ -92,3 +92,7 @@ CONFIG_HW_PERF_EVENTS=y
> >> CONFIG_FUNCTION_TRACER=y
> >> CONFIG_ENABLE_DEFAULT_TRACERS=y
> >> CONFIG_PROC_DEVICETREE=y
> >> +CONFIG_HUGETLB_PAGE=y
> >> +CONFIG_HUGETLBFS=y
> >> +CONFIG_TRANSPARENT_HUGEPAGE=y
> >> +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
> > This CONFIG_* fragments are already in linaro/configs/linaro-base64.conf
> > right?
> >
>
> Isn't linaro-base64.conf meant for ARMv8?
>
> We need hugepage support on existing 32-bit / ARMv7 platforms too, don't we?
[adding linaro-kernel, Andrey]
Yes, it seems the base64 component is a misnomer, at least for now.
Meanwhile, if this patch is targeted to the main linaro kernel, please
send via the linaro-kernel list, cc'ing linaro-networking. If not,
then perhaps a separate .conf file is in order? Anyway, I think we'd
all prefer a resolution within the main linaro kernel for hugepage
support.
> > and we are building with it in our ci/job/linux-lng* scripts...
perhaps those should be patched as well.
Kim
On ARM the debug info is not present in the .eh_frame sections but
in .debug_frame instead, in dwarf format.
This patch set uses libunwind to load and parse the dwarf debug info from
the .debug_frame section if no .eh_frame_hdr section is found; also it
sets the hooks in the perf_regs and libunwind code for ARMv7.
Dependencies:
. if present, libunwind >= 1.1 is needed to prevent a segfault when
parsing the dwarf info,
. libunwind needs to be configured with --enable-debug-frame
to prevent a linkage error. Note: --enable-debug-frame is automatically
selected on ARM).
The generated perf has been tested on ARMv7 (OMAP4, Marvell Armada XP) and
x86_64, using the following commands:
perf record -g [dwarf] -- <binary>
perf report --sort symbol --call-graph --stdio
Jean Pihet (2):
perf tools: Check libunwind for availability of dwarf parsing feature
perf: parse the .debug_frame section in case .eh_frame is not present
Will Deacon (2):
ARM: perf: add support for perf registers API
ARM: perf: wire up perf_regs and unwind support for ARM
arch/arm/Kconfig | 2 +
arch/arm/include/uapi/asm/Kbuild | 1 +
arch/arm/include/uapi/asm/perf_regs.h | 23 +++++++++++
arch/arm/kernel/Makefile | 1 +
arch/arm/kernel/perf_regs.c | 30 ++++++++++++++
tools/perf/arch/arm/Makefile | 3 ++
tools/perf/arch/arm/include/perf_regs.h | 54 +++++++++++++++++++++++++
tools/perf/arch/arm/util/unwind.c | 48 ++++++++++++++++++++++
tools/perf/config/Makefile | 7 +++-
tools/perf/config/feature-tests.mak | 11 ++++-
tools/perf/util/unwind.c | 71 +++++++++++++++++++++++++--------
11 files changed, 232 insertions(+), 19 deletions(-)
create mode 100644 arch/arm/include/uapi/asm/perf_regs.h
create mode 100644 arch/arm/kernel/perf_regs.c
create mode 100644 tools/perf/arch/arm/include/perf_regs.h
create mode 100644 tools/perf/arch/arm/util/unwind.c
--
1.7.11.7
Lots of device drivers especially for platform/I2C/SPI bus devices,
they want to be initialized earlier than other devices, so the driver
use initcall such as subsys_initcall for the device initialization.
But for those drivers, lots of them just do nothing special in
xxx_initcall/module_exit, and produce lots of boilerplate.
This patch set introduces a helper macro initcall_driver() to
eliminate lots of boilerplate just like module_driver() did, and use
it for platform/I2C/SPI bus devices.
I use following command under the lastest kernel source code:
$grep -r -E "*_initcall" drivers/ | cut -d":" -f1 |xargs grep -E
"return platform_driver_register|return i2c_add_driver|return spi_register_driver"
| cut -d":" -f1 | xargs grep "module_exit" | wc -l
and get 205 hits, so if we use helper macro initcall_driver(),
we can reduce thousands lines of code.
Hanjun Guo (4):
driver core: introduce helper macro initcall_driver()
platform device: introduce helper macro initcall_platform_driver()
i2c: introduce helper macro initcall_i2c_driver()
spi: introduce helper macro initcall_spi_driver()
include/linux/device.h | 27 +++++++++++++++++++++++++++
include/linux/i2c.h | 11 +++++++++++
include/linux/platform_device.h | 11 +++++++++++
include/linux/spi/spi.h | 11 +++++++++++
4 files changed, 60 insertions(+)
--
1.7.9.5