Received: by 10.223.164.202 with SMTP id h10csp649129wrb; Thu, 30 Nov 2017 05:23:42 -0800 (PST) X-Google-Smtp-Source: AGs4zMaxxgQeaG2DTPxsPhP0i32+T1ADh9fWmvRZgJZqUKvom1deOqJF8RIS6wLGoDVUe7k+6OIb X-Received: by 10.84.130.34 with SMTP id 31mr2626767plc.67.1512048222351; Thu, 30 Nov 2017 05:23:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512048222; cv=none; d=google.com; s=arc-20160816; b=QiQkg8HkLATM+d/VGzdlwQnkgjRGAXZzppto0HnIYRWkumFJm62egF741iJOb3x897 Z4XCtzVggyGoHo7ppADEytjY6nMrvUSoBQVqiGlOUKignw7MA9Ppj3ZRTMrpppJ5IlRt AMhj8MFgWvaCKk1Doj3soO6e08VelitNlQZVJN/xyzWDasY9zSUWRLI6b36afuHbdrUn Y2yfXTHZ8rkmqde237wgQ1J7s0We+8ORXUTI2zJofLf38K79TgV2RhpfE04ztogZNk+H 8Hf1yfTMuUUOZ/RP5CHcFcC+9oWcp+wlrgqYi48BkSnPPQczoch/I55YL/r40MvOD5io kNlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=Iybq7Pr5RryOtw2i4HGe/rPAe5zGw5Y82dUsj8iU95g=; b=fE+Bj2UPqgbcp8dN1gPTcrwjKHN7cGJ8nkO+wFhegnwlsbFYqvIjpbxeTjYVaTP6VI er2KJ13lIRuFya0sMnCfkKGT8LAIjmaG/XhZo0ltApP6DGU9KDcPj3dS8nJ+aw313SOg 5hQPm2hjKr2QZ23TLvH4F1tdVNi5J+0GRO/aLidU5+/e12jUIDQcbM13uSMMNshYVqSU 0A0gPiUF7WNwh7NIyMzg2PKbhRv0gFqI1eJT79wM8KfZtHshwKZyuoToJl5lCz15mhTP frk+8skJ8J846Z7DyJXIfo62OWLI5xsgEFNWxZt7eCugyVX11fxWPCzYfQx4QvB7uUbF wboA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ckj9I4u5; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z13si2982497pgu.113.2017.11.30.05.23.29; Thu, 30 Nov 2017 05:23:42 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ckj9I4u5; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753166AbdK3NV2 (ORCPT + 99 others); Thu, 30 Nov 2017 08:21:28 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:45897 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752273AbdK3NUn (ORCPT ); Thu, 30 Nov 2017 08:20:43 -0500 Received: by mail-wr0-f196.google.com with SMTP id h1so6541860wre.12 for ; Thu, 30 Nov 2017 05:20:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Iybq7Pr5RryOtw2i4HGe/rPAe5zGw5Y82dUsj8iU95g=; b=Ckj9I4u5fVQWowPiAEiBfphVKogzeNHV52gECvcV61OiyVoKFOMEcxMORcNblvpFMA 3F9G83NLV5BBlopHGI+m0jBfTw0Qp98geX7bc2xMXY42j4z8ZHdv/hLNl9WY7YMOhXwu 0xT3quTuiuD1hl+u+nD9xaMo9KyYAKTTta75ozyTxg7XqHea18JauxS41p2G7Fm9Tae/ rXusjOhiiQG6CgzaXcc3rgMgAYE4gQE5YF2AY3NBo1iXMOzf1vldN7YCkuk5W4WmpTvr 5pL2y3QnB0F9KNuHLS2jt7Pt0D/RPEvR7kuLlAImiTvVA/oaj5kfrT6z2v4xENvKbL8f kqOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Iybq7Pr5RryOtw2i4HGe/rPAe5zGw5Y82dUsj8iU95g=; b=IhEscreO490YPHWWUf263j2jDEIbbJBNZXRUlzB3c4wBkqh8RhJXIhVc2YlaoBq8G+ smWLyLStUrCyuGgwd5uoz+bBfsKeaL6DqD8XrgBBy+X0AfzXsaoWB3KmU4Z3CWQdKtJP 3+lMnb3DTTJMOBPiHAJzOUJhe0az4A+SGd5nuk2Xm9UyUPHp0x8ERcvml/2jlznMogdB QPD1JDox36mE1uAE2Xs6uTqPQdPIixNU+VSmTc5w7ApXIv4M4IewruICosokKU8860E2 sR+3ln30qjvmzsmeWgyz1YpQKrowwDjjKrqJKDcual5rcBsoUHQ6VuAa5PPJESQigZAZ VrWw== X-Gm-Message-State: AJaThX58Sha4M4YBmPWudUYMOh0P5SVQZc3CYjcdzlkj/8UGhp5879Eg j4V2Xx/If9qM9m9lDdt9+h0= X-Received: by 10.223.187.3 with SMTP id r3mr1980556wrg.34.1512048042843; Thu, 30 Nov 2017 05:20:42 -0800 (PST) Received: from localhost.localdomain ([87.121.44.226]) by smtp.gmail.com with ESMTPSA id p200sm3539734wmd.9.2017.11.30.05.20.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Nov 2017 05:20:42 -0800 (PST) From: "Vladislav Valtchev (VMware)" To: rostedt@goodmis.org Cc: linux-kernel@vger.kernel.org, y.karadz@gmail.com, "Vladislav Valtchev (VMware)" Subject: [PATCH v2 08/10] trace-cmd: Introducing get_trace_cmd_type() Date: Thu, 30 Nov 2017 15:19:55 +0200 Message-Id: <20171130131957.21617-9-vladislav.valtchev@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171130131957.21617-1-vladislav.valtchev@gmail.com> References: <20171130131957.21617-1-vladislav.valtchev@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch aims to reduce the size of common_record_commads_code() by removing a relatively long 'else if' sequence that was used to do the mapping between the current trace command and the trace_type used by it. Signed-off-by: Vladislav Valtchev (VMware) --- trace-record.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/trace-record.c b/trace-record.c index 7688565..ec0eaed 100644 --- a/trace-record.c +++ b/trace-record.c @@ -4746,6 +4746,27 @@ static void parse_record_options(int argc, } } +static enum trace_type get_trace_cmd_type(enum trace_cmd cmd) +{ + const static struct { + enum trace_cmd cmd; + enum trace_type ttype; + } trace_type_per_command[] = { + {CMD_record, TRACE_TYPE_RECORD}, + {CMD_stream, TRACE_TYPE_STREAM}, + {CMD_extract, TRACE_TYPE_EXTRACT}, + {CMD_profile, TRACE_TYPE_STREAM}, + {CMD_start, TRACE_TYPE_START} + }; + + for (int i = 0; i < ARRAY_SIZE(trace_type_per_command); i++) { + if (trace_type_per_command[i].cmd == cmd) + return trace_type_per_command[i].ttype; + } + + die("Trace type UNKNOWN for the given cmd_fun"); +} + /* * This function contains common code for the following commands: * record, start, extract, stream, profile. @@ -4753,7 +4774,7 @@ static void parse_record_options(int argc, static void record_trace(int argc, char **argv, struct common_record_context *ctx) { - enum trace_type type = 0; + enum trace_type type = get_trace_cmd_type(ctx->curr_cmd); /* * If top_instance doesn't have any plugins or events, then @@ -4820,17 +4841,6 @@ static void record_trace(int argc, char **argv, set_buffer_size(); } - if (IS_RECORD(ctx)) - type = TRACE_TYPE_RECORD; - else if (IS_STREAM(ctx)) - type = TRACE_TYPE_STREAM; - else if (IS_EXTRACT(ctx)) - type = TRACE_TYPE_EXTRACT; - else if (IS_PROFILE(ctx)) - type = TRACE_TYPE_STREAM; - else - type = TRACE_TYPE_START; - update_plugins(type); set_options(); -- 2.14.1 From 1585503167020955150@xxx Thu Nov 30 14:54:08 +0000 2017 X-GM-THRID: 1585503167020955150 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread