Re: perf: Support uncore in 4.9.112

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 18, 2018 at 08:41:28AM +0800, Jin, Yao wrote:
> Hi,
> 
> The stable kernel 4.9.112 has supported Intel uncore feature in perf core.
> While it also needs the perf tool supporting to let perf uncore feature
> work.
> 
> Following backport patches enables basic perf uncore feature in 4.9.112.
> 
> For example, on skylake desktop,

Why would anyone care about this on a "desktop" for 4.9?  No one should
be using 4.9.y on a desktop anymore, it's over 2 years old, why would
they expect any "new" hardware support to work for them?  Why can't they
just use 4.14.y or better yet. 4.17.y?  Desktops should NOT be using a 2
year old kernel.

Heck, servers shouldn't either, but that's a totally different rant.
However, for hardware that is newer than the base kernel version
release, I have no sympathy.  Just use a newer kernel, right?

What distro relies on a 4.9 kernel for brand new hardware that does not
already support a newer kernel release for such hardware?

> root@skl:~# uname -a
> Linux skl 4.9.112+ #2 SMP Mon Jul 16 17:35:25 CST 2018 x86_64 x86_64 x86_64
> GNU/Linux
> 
> root@skl:~# perf list | grep unc_
>   unc_arb_coh_trk_requests.all
>   unc_arb_trk_occupancy.all
>   unc_arb_trk_occupancy.cycles_with_any_request
>   unc_arb_trk_requests.all
>   unc_arb_trk_requests.drd_direct
>   unc_arb_trk_requests.writes
>   unc_cbo_cache_lookup.any_es
>   unc_cbo_cache_lookup.any_i
>   unc_cbo_cache_lookup.any_m
>   unc_cbo_cache_lookup.any_mesi
>   unc_cbo_cache_lookup.read_es
>   unc_cbo_cache_lookup.read_i
>   unc_cbo_cache_lookup.read_mesi
>   unc_cbo_cache_lookup.write_es
>   unc_cbo_cache_lookup.write_m
>   unc_cbo_cache_lookup.write_mesi
>   unc_cbo_xsnp_response.hit_xcore
>   unc_cbo_xsnp_response.hitm_xcore
>   unc_cbo_xsnp_response.miss_eviction
>   unc_cbo_xsnp_response.miss_xcore
> 
> root@skl:~# perf stat -a -e unc_cbo_cache_lookup.any_es sleep 1
> 
>  Performance counter stats for 'system wide':
> 
>            147,229      unc_cbo_cache_lookup.any_es
> 
>        1.001204726 seconds time elapsed
> 
> These patches are divided into 2 parts, perf core part and perf tool part.
> (Please apply the patches from top to bottom in following lists, otherwise
> conflicts will happen)
> 
> 1. Patches for perf core to fix some uncore issues.
> 
> perf/x86/intel/uncore: Fix Skylake server CHA LLC_LOOKUP event umask
> c3f02682a101b83424128915b14e60c156c03f02
> 
> perf/x86/intel/uncore: Fix Skylake server PCU PMU event format
> bab4e569e80c07ba6fe5e4f2d815adeef26cee94
> 
> perf/x86/intel/uncore: Fix Skylake UPI PMU event masks
> b3625980a65db6b6b6bbd5790a77ab95ce6397c5
> 
> perf/x86/intel/uncore: Remove invalid Skylake server CHA filter field
> 9ad0fbd8fcd9e6815908c772f8d792a9d764449e
> 
> perf/x86/intel/uncore: Fix SKX CHA event extra regs
> 8aa7b7b4b4a601978672dce6604b9f5630b2eeb8
> 
> perf/x86/intel/uncore: Fix missing marker for skx_uncore_cha_extra_regs
> ba883b4abc9cd837441b01eb9cf8d9196181294d
> 
> perf/x86/intel/uncore: Add event constraint for BDX PCU
> bb9fbe1b57503f790dbbf9f06e72cb0fb9e60740
> 
> 2. Patches for perf tool to enable the uncore feature.
> 
> Note that since some dependencies in perf vendor events patches, so this
> patch-set includes both core and uncore event patches.
> 
> perf vendor events: Add BroadwellDE V5 event file
> 27b565b1eb04a277027953cab13b5aad5d469390
> 
> perf vendor events: Add Broadwell V17 event file
> b74d1315cab113ce1e0ee5e10eb6638219c1b0d1
> 
> perf vendor events: Add BroadwellX V10 event file
> 19c0389b60d486010d508d5a1551ee9b6a8b2f45
> 
> perf vendor events: Add Bonnell V4 event file
> 052aa3cce3f2b91e339318e5fe9806d0cfd822f0
> 
> perf vendor events: Add Goldmont V8 event file
> 4a00680b059a6c2c378945e2dffa2fa2876a4fc1
> 
> perf vendor events: Add Haswell V24 event file
> dcfbad10c7ba0bd2f4993c8d8a258471eb6083ff
> 
> perf vendor events: Add HaswellX V17 event file
> ede007404388cd1ba306760a2881dc9722f5bb47
> 
> perf vendor events: Add IvyBridge V18 event file
> 4b90798ebb0bab8fe1ed9065e80879503f5601d2
> 
> perf vendor events: Add IvyTown V19 event file
> d910f0ba6d72a0917ae30b6aed5131988e3096e4
> 
> perf vendor events: Add Jaketown V20 event file
> 902ea4ee33e6dccece0f78a68e882eee9be9577f
> 
> perf vendor events: Add KnightsLanding V9 event file
> 55d42d272ee30cd781e74a9c4ab152664c6417fc
> 
> perf vendor events: Add NehalemEP V2 event file
> edaa78b4c050ec0a0fc7f436cdf6a73c91af64e0
> 
> perf vendor events: Add NehalemEX V2 event file
> d8c303858582d4dcd90f13ebbe9db812a70d0948
> 
> perf vendor events: Add Skylake V24 event file
> 47cbd67e243a6bbb4133d719edd24ee6a315462d
> 
> perf vendor events: Add Silvermont V13 event file
> 1b0978458300164046d12e1b7930c9de38057e1d
> 
> perf vendor events: Add SandyBridge V15 event file
> 6e82bdae472355fe0953e12eb29a36079e155ddb
> 
> perf vendor events: Add WestmereEP-DP V2 event file
> 1f888acd92c8f88b0ab9640cef0794bc5424c668
> 
> perf vendor events: Add WestmereEP-SP V2 event file
> 01dd25455b3588431d3f59c70e7b934a91d66121
> 
> perf vendor events: Add WestmereEX V2 event file
> 1fbd54b2e2356659f9f87920dc514792db6ff602
> 
> perf vendor events intel: Add uncore events for Haswell Server processor
> 7003f00fdb7b44662e8b47ebaf8ff6ce554df4bb
> 
> perf vendor events intel: Add uncore events for Broadwell Server
> 949c84efcac9662b1df520675cdfce07273f4d59
> 
> perf vendor events intel: Add uncore events for IvyBridge Server
> 6b138c7b14d6134bed2419ccf7573b87e7a064b0
> 
> perf vendor events intel: Add uncore events for Sandy Bridge Server
> dd32cb5d8fd42316bf8c2b9f7e5c51a38625f755
> 
> perf vendor events intel: Add uncore events for Xeon Phi (Knights Landing)
> 22c8e5526b7bf33840c20b4e717e6560e5dfb294
> 
> perf vendor events intel: Add uncore events for Broadwell DE
> 76667024171a2d6811c5ddbe42a8f675987ad8a1
> 
> perf vendor events: Add mapping for KnightsMill PMU events
> 771ceddaadd0a2b31603034b36dca50943ff6836
> 
> perf vendor events intel: Update Intel uncore JSON event files
> b90b3e9c11050e09279d2b9a318189e155910b20
> 
> perf vendor events intel: Add missing UNC_M_DCLOCKTICKS for Broadwell DE
> uncore
> 9c4e2e2589c99ed01db6245847b4bd44bc053330
> 
> perf vendor events intel: Add uncore events for Sandy Bridge client
> 80432c7311dbcf0c814d4923480b055a725b0be2
> 
> perf vendor events intel: Add uncore events for Ivy Bridge client
> bccdcb2a77ba0bef17baf152179e30ca35459a0c
> 
> perf vendor events intel: Add uncore events for Haswell client
> 0585c6265e66f952bcb6280cf078e5e120bd367a
> 
> perf vendor events intel: Add uncore events for Broadwell client
> 092a95d41655bdd31d7d28f1788818724505feb2
> 
> perf vendor events intel: Add uncore events for Skylake client
> 92c6de0f10a80e4936fac04148bd3783a7c2b9f8
> 
> perf vendor events: Add core event list for Skylake Server
> 630171d4156a257869b3cca5b2e63aacf7bc7948
> 
> perf vendor events: Add Skylake server uncore event list
> 41d3d6db1767326dd7daf7c6df48e42020647c15
> 
> perf vendor events: Add Goldmont Plus V1 event file
> 65db92e0965ab56e8031d5c804f26d5be0e47047
> 
> perf jevents: Parse eventcode as number
> d581141970ef3965c1624960fa928d765afd8a3e
> 
> perf jevents: Add support for parsing uncore json files
> fedb2b518239cbc00abcf0d200e0be8436251c11
> 
> perf pmu: Support per pmu json aliases
> 15b22ed369aa23ef4d083ffb9621650c353d3ddd
> 
> perf pmu: Support event aliases for non cpu// pmus
> 231bb2aa32498cbebef1306889a02114e9dfc934
> 
> perf pmu: Factor out scale conversion code
> d02fc6bcd53721cf8588633409157c232f2418e0
> 
> perf tools: Move new_term arguments into struct parse_events_term template
> 67b49b38f7bd6f34319b540ce824d5697241b3a8
> 
> perf tools: Fail on using multiple bits long terms without value
> 99e7138eb7897aa0ccc6661173ae2d7e79721e05
> 
> perf list: Add debug support for outputing alias string
> f23610245c1aa0e912476e642bd5107d04122230
> 
> perf tools: Factor out PMU matching in parser
> 2073ad3326b7e4577af3d6789edd03df79519d21
> 
> perf pmu: Expand PMU events by prefix match
> 8255718f4bedbfb3558fba10ff40a70934f2117d
> 
> perf pmu: Special case uncore_ prefix
> a820e33547aee9fd0460106c1fc577a125c23975
> 
> perf stat: Factor out callback for collecting event values
> fbe51fba82901fd15d3e0a068388fcd7d02dc047
> 
> perf stat: Collapse identically named events
> 430daf2dc7aff16096a137347e6fd03d4af609e9
> 
> perf stat: Handle partially bad results with merging
> b4229e9d4cac2295f8f04ec26acd571a391c6c37
> 
> perf vendor events intel: Add uncore_arb JSON support
> af34cb4fad1ba08db199ef1b0a529549e041dd25
> 
> perf vendor events intel: Add missing space in json descriptions
> 3401e8d1e1300742ed41910b9338b9da52689a16

What is the overall diffstat of all of these changes?

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux