The NetBSD Project

CVS log for src/sys/dev/tprof/tprof_armv8.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / tprof

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.18.2.2 / (download) - annotate - [select for diffs], Wed Jun 21 22:34:51 2023 UTC (8 months, 1 week ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.18.2.1: +7 -7 lines
Diff to previous 1.18.2.1 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

Pull up following revision(s) (requested by msaitoh in ticket #210):

	usr.sbin/tprof/tprof.8: revision 1.30
	sys/dev/tprof/tprof_x86_amd.c: revision 1.8
	sys/dev/tprof/tprof_armv8.c: revision 1.20
	sys/dev/tprof/tprof_types.h: revision 1.7
	sys/dev/tprof/tprof_x86_intel.c: revision 1.6
	sys/dev/tprof/tprof_x86_intel.c: revision 1.7
	sys/dev/tprof/tprof_x86_intel.c: revision 1.8
	sys/dev/tprof/tprof.c: revision 1.23
	usr.sbin/tprof/tprof.8: revision 1.25
	usr.sbin/tprof/tprof.8: revision 1.26
	usr.sbin/tprof/arch/tprof_x86.c: revision 1.16
	usr.sbin/tprof/tprof.8: revision 1.27
	usr.sbin/tprof/arch/tprof_x86.c: revision 1.17
	usr.sbin/tprof/tprof.8: revision 1.28
	usr.sbin/tprof/tprof.h: revision 1.5
	usr.sbin/tprof/tprof.8: revision 1.29
	sys/dev/tprof/tprof_armv7.c: revision 1.13
	usr.sbin/tprof/tprof_top.c: revision 1.9
	usr.sbin/tprof/tprof.c: revision 1.21

Add Cometlake support.

Obtain the number of general counters from CPUID 0xa.

Test cpuid_level in tprof_intel_ncounters().
This function is called before tprof_intel_ident().

KNF. No functional change.

Add two note to the tprof(8)'s manual page.
 - "list" command prints the maximum number of counters that can be used
   simultaneously.
 - multiple -e arguments can be specified.

Use the default counter if -e argument is not specified.
 monitor command:
     The default counter is selected if -e argument is not specified.
 list command:
     Print the name of the default counter for monitor and top command.

tprof.8: new sentence, new line

tprof(8): fix markup nits

tprof.8: fix typo, s/speficied/specified/

Revision 1.20 / (download) - annotate - [select for diffs], Tue Apr 11 10:07:12 2023 UTC (10 months, 2 weeks ago) by msaitoh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.19: +7 -7 lines
Diff to previous 1.19 (colored)

KNF. No functional change.

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Fri Dec 23 08:09:48 2022 UTC (14 months, 1 week ago) by martin
Branch: netbsd-10
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Pull up following revision(s) (requested by ryo in ticket #20):

	sys/arch/arm/arm/cpufunc.c: revision 1.185
	sys/dev/tprof/tprof.c: revision 1.22
	sys/arch/arm/arm32/arm32_boot.c: revision 1.45
	sys/dev/tprof/tprof_armv8.c: revision 1.19
	sys/dev/tprof/tprof_armv7.c: revision 1.12
	sys/arch/aarch64/aarch64/cpu.c: revision 1.71
	sys/arch/aarch64/aarch64/cpu.c: revision 1.72

tprof_lock is not a spin mutex. use mutex_{enter,exit}(). oops

Explicitly disable overflow interrupts before enabling the cycle counter.

PMCR_EL0.LC should be set. ARM deprecates use of PMCR_EL0.LC=0

Even if an overflow interrupt is occured for a counter outside tprof management,
the bit of onverflow status register must be cleared to prevent an interrupt storm.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Dec 22 06:59:32 2022 UTC (14 months, 1 week ago) by ryo
Branch: MAIN
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Even if an overflow interrupt is occured for a counter outside tprof management,
the bit of onverflow status register must be cleared to prevent an interrupt storm.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Dec 1 00:32:52 2022 UTC (14 months, 4 weeks ago) by ryo
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.17: +153 -88 lines
Diff to previous 1.17 (colored)

Improve tprof(4)

- Multiple events can now be handled simultaneously.
- Counters should be configured with TPROF_IOC_CONFIGURE_EVENT in advance,
  instead of being configured at TPROF_IOC_START.
- The configured counters can be started and stopped repeatedly by
  PROF_IOC_START/TPROF_IOC_STOP.
- The value of the performance counter can be obtained at any timing as a 64bit
  value with TPROF_IOC_GETCOUNTS.
- Backend common parts are handled in tprof.c as much as possible, and functions
  on the tprof_backend side have been reimplemented to be more primitive.
- The reset value of counter overflows for profiling can now be adjusted.
  It is calculated by default from the CPU clock (speed of cycle counter) and
  TPROF_HZ, but for some events the value may be too large to be sufficient for
  profiling. The event counter can be specified as a ratio to the default or as
  an absolute value when configuring the event counter.
- Due to overall changes, API and ABI have been changed. TPROF_VERSION and
  TPROF_BACKEND_VERSION were updated.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Dec 1 00:29:10 2022 UTC (14 months, 4 weeks ago) by ryo
Branch: MAIN
Changes since 1.16: +4 -5 lines
Diff to previous 1.16 (colored)

PMCR.E should not be disabled from tprof.

PMCR.E controls not only performance event counters but also the cycle
counter operation, and the cycle counter may be used for cpu_counter.
Similarly, the 31st bit in PMINTENCLR and PMCNTENCLR controls the cycle
counter, not performance event counters, and should not be modified.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Nov 10 07:54:20 2022 UTC (15 months, 2 weeks ago) by ryo
Branch: MAIN
Changes since 1.15: +3 -4 lines
Diff to previous 1.15 (colored)

revert my previous commit.

since armv8_pmu_init is only called when it is reliably worked by ACPI or fdt,
there is no need for dynamic checks.

pointed out by jmcneill@, thanks

Revision 1.15 / (download) - annotate - [select for diffs], Wed Nov 9 19:06:46 2022 UTC (15 months, 2 weeks ago) by ryo
Branch: MAIN
Changes since 1.14: +4 -3 lines
Diff to previous 1.14 (colored)

If the hardware does not support PMU, return an error instead of KASSERT.

Revision 1.14 / (download) - annotate - [select for diffs], Mon May 16 09:42:32 2022 UTC (21 months, 2 weeks ago) by jmcneill
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.13: +14 -2 lines
Diff to previous 1.13 (colored)

tprof: armv8: Only attach to known PMU types.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Dec 3 10:54:19 2021 UTC (2 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

fix the typo that martin spotted.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 3 08:02:52 2021 UTC (2 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.11: +4 -5 lines
Diff to previous 1.11 (colored)

Add a comment and simplify the code ever so slightly.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Dec 3 08:00:13 2021 UTC (2 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored)

Use the first (not second) event counter as there might only be one
available.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Nov 26 13:24:28 2021 UTC (2 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

declare xc

Revision 1.9 / (download) - annotate - [select for diffs], Thu Nov 25 09:36:21 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.8: +6 -3 lines
Diff to previous 1.8 (colored)

Improve error handling.

Hypervisors can return a PMCR.N of 0.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 1 17:03:53 2021 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

Trailing whitespace

Revision 1.7 / (download) - annotate - [select for diffs], Sun Sep 26 13:37:36 2021 UTC (2 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.6: +16 -10 lines
Diff to previous 1.6 (colored)

Make sure setup happens on all CPUs.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 30 18:54:37 2020 UTC (3 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.5: +5 -5 lines
Diff to previous 1.5 (colored)

Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.

Revision 1.4.8.3 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:13 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.4.8.2: +5 -19 lines
Diff to previous 1.4.8.2 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Merge changes from current as of 20200406

Revision 1.5 / (download) - annotate - [select for diffs], Mon Mar 30 11:38:29 2020 UTC (3 years, 11 months ago) by jmcneill
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.4: +5 -19 lines
Diff to previous 1.4 (colored)

Enable the cycle counter when a CPU hatches and store an estimate of the
frequency in ci_data.cpu_cc_freq.

Revision 1.4.8.2 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:33 2019 UTC (4 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.4.8.1: +237 -0 lines
Diff to previous 1.4.8.1 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:57 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.4.2.1: +237 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Sync with HEAD

Revision 1.4.8.1, Tue Jul 17 00:42:48 2018 UTC (5 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.4: +0 -237 lines
FILE REMOVED

file tprof_armv8.c was added on branch phil-wifi on 2019-06-10 22:07:33 +0000

Revision 1.4.2.1, Tue Jul 17 00:42:48 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.4: +0 -237 lines
FILE REMOVED

file tprof_armv8.c was added on branch pgoyette-compat on 2018-07-28 04:37:57 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jul 17 00:42:48 2018 UTC (5 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, jdolecek-ncqfixes-base, jdolecek-ncqfixes, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

use PRI?64 instead of ll?

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 16 10:57:21 2018 UTC (5 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

Spaces -> tabs

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jul 16 10:56:42 2018 UTC (5 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.1: +14 -2 lines
Diff to previous 1.1 (colored)

RW fields in performance monitor registers are reset to architecturally
UNKNOWN values. Initialize the PMU to a known state - all interrupts and
counters disabled, performance monitor disabled, and user access disabled.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jul 15 16:05:24 2018 UTC (5 years, 7 months ago) by jmcneill
Branch: MAIN

Add tprof backend for ARMv8 performance monitors.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>