lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1437208216-15729-1-git-send-email-jcmvbkbc@gmail.com>
Date:	Sat, 18 Jul 2015 11:30:03 +0300
From:	Max Filippov <jcmvbkbc@...il.com>
To:	linux-xtensa@...ux-xtensa.org, linux-kernel@...r.kernel.org
Cc:	Chris Zankel <chris@...kel.net>, Marc Gauthier <marc@...ence.com>,
	Max Filippov <jcmvbkbc@...il.com>
Subject: [PATCH v2 00/13] Support hardware perf counters on xtensa

Hello,

this series adds support for hardware performance counters in counting
and sampling modes as well as for page fault counting. Perf IRQ is handled
as NMI when configured properly (as the only topmost medium-priority
interrupt).

It reorganizes stack tracing code to share it between old oprofile and new
perf interfaces, and improves kernel stack traces both for builtin debug
functions and for gdb.

There's also fixes and cleanups for the areas touched by the new features.

Changes v1->v2:
- make continuous stack changes conditional;
- replace l32i/s32i + add used to access spilled registers with l32e/s32e;
- use -EINVAL instead of -ENOENT for invalid PMU event configuratons;
- fix kernel register spilling code;
- optionally treat perf IRQ as NMI.

Max Filippov (13):
  xtensa: clean up Kconfig dependencies for custom cores
  xtensa: keep exception/interrupt stack continuous
  xtensa: move oprofile stack tracing to stacktrace.c
  xtensa: select PERF_USE_VMALLOC for cache-aliasing configurations
  xtensa: add profiling IRQ type to xtensa_irq_map
  xtensa: count software page fault perf events
  xtensa: implement counting and sampling perf events
  perf tools: xtensa: add DWARF register names
  xtensa: reorganize irq flags tracing
  xtensa: fix kernel register spilling
  xtensa: don't touch EXC_TABLE_FIXUP in _switch_to
  xtensa: implement fake NMI
  xtensa: drop unused irq_err_count

 arch/xtensa/Kconfig                      |  22 +-
 arch/xtensa/include/asm/atomic.h         |  10 +-
 arch/xtensa/include/asm/cmpxchg.h        |   4 +-
 arch/xtensa/include/asm/irqflags.h       |  22 +-
 arch/xtensa/include/asm/processor.h      |  31 ++-
 arch/xtensa/include/asm/stacktrace.h     |   8 +
 arch/xtensa/include/asm/traps.h          |  29 +-
 arch/xtensa/kernel/Makefile              |   1 +
 arch/xtensa/kernel/entry.S               | 197 ++++++++++----
 arch/xtensa/kernel/irq.c                 |  17 +-
 arch/xtensa/kernel/perf_event.c          | 454 +++++++++++++++++++++++++++++++
 arch/xtensa/kernel/stacktrace.c          | 167 +++++++++++-
 arch/xtensa/kernel/traps.c               |  31 ++-
 arch/xtensa/kernel/vectors.S             |  10 +-
 arch/xtensa/mm/fault.c                   |   7 +
 arch/xtensa/oprofile/backtrace.c         | 158 +----------
 tools/perf/arch/xtensa/Build             |   1 +
 tools/perf/arch/xtensa/Makefile          |   3 +
 tools/perf/arch/xtensa/util/Build        |   1 +
 tools/perf/arch/xtensa/util/dwarf-regs.c |  25 ++
 20 files changed, 954 insertions(+), 244 deletions(-)
 create mode 100644 arch/xtensa/kernel/perf_event.c
 create mode 100644 tools/perf/arch/xtensa/Build
 create mode 100644 tools/perf/arch/xtensa/Makefile
 create mode 100644 tools/perf/arch/xtensa/util/Build
 create mode 100644 tools/perf/arch/xtensa/util/dwarf-regs.c

-- 
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ