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.
|
|
|
|
|
|
|
|
add_vpp_plugin(perfmon
|
|
|
|
SOURCES
|
|
|
|
perfmon.c
|
|
|
|
perfmon_periodic.c
|
|
|
|
parse_util.c
|
|
|
|
)
|
|
|
|
|
2018-10-24 15:54:52 -04:00
|
|
|
install(
|
|
|
|
FILES PerfmonTables.tar.xz
|
|
|
|
DESTINATION share/vpp/plugins/perfmon
|
|
|
|
COMPONENT vpp-dev
|
|
|
|
)
|
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)
|