From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EC09C282C2 for ; Mon, 11 Feb 2019 02:44:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C965520863 for ; Mon, 11 Feb 2019 02:44:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UqNCJDHE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726847AbfBKCo2 (ORCPT ); Sun, 10 Feb 2019 21:44:28 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:41987 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726102AbfBKCo2 (ORCPT ); Sun, 10 Feb 2019 21:44:28 -0500 Received: by mail-pl1-f194.google.com with SMTP id s1so4589837plp.9 for ; Sun, 10 Feb 2019 18:44:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=M4ZIFIrIt3XERWDBKF4s9guwbm+0cNHFsc+RmVzWYM4=; b=UqNCJDHEXqiXPIl/VClTq+m7kJR9OiAthsOemd6NqSU+jLgeVVMOhT8dhc3kBSVqKL HEigBDK2p2BgBVzch2GaJNS3MzEDVMeUrzFEarV/tnS3FOvAq66XwtuSQk82eTaTTJOf HrlaGumofnL2fDbWf73uH8/G3GGkfx9NrJrJj7lCXG/taaYK7zmFtEFr4BJ0tn9iU+Zo GN6xcfpr6R0CJPprA1dk80KmsdX7bTQWh1gzd/bJGQ5JhIMCioyCmB7Nv6woqv3XQUjU xcpBWvVZG6H279ZNfiJES0Oz5ka3FwZQ7gPFYVoZYE9lPwFo4OzUEQj+fxlqhBY6+K8p N07A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=M4ZIFIrIt3XERWDBKF4s9guwbm+0cNHFsc+RmVzWYM4=; b=csegJx1Clo78ylt8POKaa/WTzy+aNcR9iZxvbN0OETRXCTbjuSYv9KL8oki7eyYR3M SQkdq8a2Ey43YWqQT6opVoqLFHQeQIYnxU2fPDRqrx3bDfk/MqF+9NLAPsZn5G0ASsTC cOyFuGUfAkRwIHxWwbK6V2o5B0ntaPA7qVmOcxWKsRrTLdRx1VNoxwwQ5HM+guyF0V7X mRlrR3Y1Lwfac+tF4duqQMiVx+7jBUv8leHa97+O9/NvJwgP8YmBzw24Um/RWDikDyZU I829q20gxMkft8Vi3H7G4xF5aiC9zL/5P0tpapdgjYr+t0NLL+iwTpA6rEL0Mr5aY+lx u5sQ== X-Gm-Message-State: AHQUAua0rx7ZrP+2/yc4vJ4y9LmMplUXB1rYYUNSXO5oIsaEeTImBT/6 1d4zW35vDuSp7EHutDldMjI= X-Google-Smtp-Source: AHgI3IYZbTOVywrmrcMtv9Z2IUnusxZArKytHXMT+jdMLJ1iSqjKvpVZ55gfFPzrHotPZ5Co9p+Mww== X-Received: by 2002:a17:902:b681:: with SMTP id c1mr23369113pls.103.1549853067622; Sun, 10 Feb 2019 18:44:27 -0800 (PST) Received: from ?IPv6:2601:282:800:fd80:ac47:4940:69b1:8e75? ([2601:282:800:fd80:ac47:4940:69b1:8e75]) by smtp.googlemail.com with ESMTPSA id d131sm4512001pfd.108.2019.02.10.18.44.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 18:44:26 -0800 (PST) Subject: Re: [PATCH for-next 2/4] devlink: fix print of uint64_t To: Stephen Hemminger , Aya Levin Cc: netdev@vger.kernel.org, "David S. Miller" , Jiri Pirko , Moshe Shemesh , Eran Ben Elisha , Tal Alon , Ariel Almog References: <1549532202-943-1-git-send-email-eranbe@mellanox.com> <1549823329-10377-1-git-send-email-ayal@mellanox.com> <1549823329-10377-3-git-send-email-ayal@mellanox.com> <20190210123401.66920387@hermes.lan> From: David Ahern Message-ID: Date: Sun, 10 Feb 2019 19:44:25 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190210123401.66920387@hermes.lan> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 2/10/19 1:34 PM, Stephen Hemminger wrote: > On Sun, 10 Feb 2019 20:28:47 +0200 > Aya Levin wrote: > >> This patch prints uint64_t with its corresponding format and avoid implicit >> cast to uint32_t. >> >> Signed-off-by: Aya Levin >> Reviewed-by: Moshe Shemesh >> Reported-by: Maria Pasechnik >> --- >> devlink/devlink.c | 9 ++++++++- >> 1 file changed, 8 insertions(+), 1 deletion(-) >> >> diff --git a/devlink/devlink.c b/devlink/devlink.c >> index a05755385a49..46e2e41c5dfd 100644 >> --- a/devlink/devlink.c >> +++ b/devlink/devlink.c >> @@ -1628,7 +1628,14 @@ static void pr_out_u64(struct dl *dl, const char *name, uint64_t val) >> if (val == (uint64_t) -1) >> return pr_out_str(dl, name, "unlimited"); >> >> - return pr_out_uint(dl, name, val); >> + if (dl->json_output) { >> + jsonw_u64_field(dl->jw, name, val); >> + } else { >> + if (g_indent_newline) >> + pr_out("%s %lu", name, val); >> + else >> + pr_out(" %s %lu", name, val); I would expect the compiler to throw a warning when %lu is used for u64's. >> + } >> } >> >> static void pr_out_region_chunk_start(struct dl *dl, uint64_t addr) > > More conditional code adds bloat and is a nuisance. > Why not use print_u64 that already exists. > > I wish devlink used json_print in a more standard manner. > That's a general devlink problem that can be addressed outside of this patch set. It is an example of what I meant by devlink not using more of the infra from the iproute2 code.