From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751773AbcEILl4 (ORCPT ); Mon, 9 May 2016 07:41:56 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:34093 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751002AbcEILlz (ORCPT ); Mon, 9 May 2016 07:41:55 -0400 From: Taeung Song To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Jiri Olsa , Namhyung Kim , Ingo Molnar , Peter Zijlstra , Alexander Shishkin , Taeung Song Subject: [PATCH 0/4] perf config: Introduce default config key-value pairs arrays Date: Mon, 9 May 2016 20:41:45 +0900 Message-Id: <1462794109-14652-1-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.5.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We currently use values of actual type(int, bool, char *, etc.) when initializing default perf config values. For example, If there isn't user config value at ~/.perfconfig for 'annotate.use_offset' config variable, default value for it is 'true' bool type value in perf like below. At ui/browsers/annoate.c static struct annotate_browser_opt { bool hide_src_code, use_offset, jump_arrows, show_linenr, show_nr_jumps, show_total_period; } annotate_browser__opts = { .use_offset = true, .jump_arrows = true, }; But I suggest using new config arrays that have all default config key-value pairs and then initializing default config values with them. Because if we do, we can manage default perf config values at one spot (like util/config.c) and It can be easy and simple to modify default config values or add new configs. For example, If we use new default config arrays and there isn't user config value for 'annoate.use_offset' default value for it will be set as annotate_config_items[CONFIG_ANNOATE_USE_OFFSET].value instead of actual boolean type value 'true'. IMHO, I think it should be needed to use new default config arrays to manage default perf config values more effectively. And this pathset contains patchs for only 'colors' and 'annoate' section because waiting for other opinions. If you review this patchset, I'd appreciate it :-) Thanks, Taeung Taeung Song (4): perf config: Introduce default_config_item for all default config key-value pairs perf tools: Separate out code setting ground colors from ui_browser__color_config perf config: Initialize ui_browser__colorsets with default config items perf config: Initialize annotate_browser__opts with default config items tools/perf/ui/browser.c | 89 ++++++++++++++-------- tools/perf/ui/browser.h | 1 + tools/perf/ui/browsers/annotate.c | 12 ++- tools/perf/ui/tui/setup.c | 1 + tools/perf/util/cache.h | 1 + tools/perf/util/config.c | 150 +++++++++++++++++++++++++++++++++++++- tools/perf/util/config.h | 74 ++++++++++++++++++- 7 files changed, 291 insertions(+), 37 deletions(-) -- 2.5.0