2018-09-10 12:31:15 -04:00
|
|
|
# Copyright (c) 2018 Cisco and/or its affiliates.
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at:
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
2020-07-10 15:49:03 +00:00
|
|
|
add_vpp_library (perfcore
|
2018-09-10 12:31:15 -04:00
|
|
|
SOURCES
|
|
|
|
perfmon.c
|
|
|
|
perfmon_periodic.c
|
2019-01-28 13:27:31 +01:00
|
|
|
perfmon_intel_bdw.c
|
|
|
|
perfmon_intel_bdw_de.c
|
|
|
|
perfmon_intel_bdx.c
|
|
|
|
perfmon_intel_bnl.c
|
|
|
|
perfmon_intel_clx.c
|
|
|
|
perfmon_intel_hsw.c
|
|
|
|
perfmon_intel_hsx.c
|
|
|
|
perfmon_intel_ivb.c
|
|
|
|
perfmon_intel_nhm_ep.c
|
|
|
|
perfmon_intel_nhm_ex.c
|
|
|
|
perfmon_intel_skl.c
|
|
|
|
perfmon_intel_skx.c
|
|
|
|
perfmon_intel_slm.c
|
|
|
|
perfmon_intel_snb.c
|
|
|
|
perfmon_intel_wsm_ep_dp.c
|
|
|
|
perfmon_intel_wsm_ep_sp.c
|
|
|
|
perfmon_intel_wsm_ex.c
|
2020-07-10 15:49:03 +00:00
|
|
|
|
|
|
|
INSTALL_HEADERS
|
|
|
|
perfmon.h
|
|
|
|
|
|
|
|
LINK_LIBRARIES
|
|
|
|
vppinfra
|
|
|
|
vlib
|
|
|
|
vnet
|
|
|
|
)
|
|
|
|
|
|
|
|
add_vpp_plugin(perfmon
|
|
|
|
SOURCES
|
|
|
|
perfmon_plugin.c
|
|
|
|
|
|
|
|
LINK_LIBRARIES
|
|
|
|
perfcore
|
2018-10-24 15:54:52 -04:00
|
|
|
)
|
Improve perfmon json table picker
Built a tool to chew up https://download.01.org/perfmon/mapfile.csv,
and output a table in this format:
typedef struct {
u8 model;
u8 stepping;
u8 has_stepping;
char *filename;
} file_by_model_and_stepping_t;
static const file_by_model_and_stepping_t fms_table [] =
{
/* model, stepping, stepping valid, file */
{ 0x2E, 0x0, 0, "NehalemEX_core_V2.json" },
{ 0x1E, 0x0, 0, "NehalemEP_core_V2.json" },
<snip>
{ 0x55, 0x5, 1, "cascadelakex_core_v1.00.json" },
{ 0x55, 0x6, 1, "cascadelakex_core_v1.00.json" },
{ 0x55, 0x7, 1, "cascadelakex_core_v1.00.json" },
<snip>
Change-Id: Ie0e8a7e851799e9d060b966047745039c066ec7b
Signed-off-by: Dave Barach <dave@barachs.net>
2018-12-17 15:55:52 -05:00
|
|
|
|
|
|
|
option(VPP_BUILD_MAPFILE_TOOL "Build perfmon mapfile utility." OFF)
|
|
|
|
if(VPP_BUILD_MAPFILE_TOOL)
|
|
|
|
add_vpp_executable(mapfile_tool
|
|
|
|
SOURCES mapfile_tool.c
|
|
|
|
LINK_LIBRARIES vppinfra Threads::Threads
|
|
|
|
)
|
|
|
|
endif(VPP_BUILD_MAPFILE_TOOL)
|