From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [52.28.52.200]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 506553BA8E for ; Mon, 16 Jul 2018 13:56:11 -0400 (EDT) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1531763770; bh=8ytTXzhk8uzn1TYsJ9h8AF3HPQ4MIAff7gy/lvEN3uQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=EE473shLfhicgPhQootL09xTMz1YTC2XvM7VzLLq1jttAkFDPflzANszHGJvCBUhT Eb6vs5rllgmLhkNmr+i0jaxFMNNS+0JRktNP+MQLE3mufsf23ML+oO8HZfG5e1FMBk IqcdombmVrkuWYr1qX+IS3SrFIwBZbTR+xRZNlvwYBBJajoNmSSuLkbbuF84+Zkvts EAOUg/0PcyXvvby1jErKuO6WzT4wzKR9Pcxvwy9OY/vPtVgPZShqR1cbO8bkKIi4oU OWgyleCH7m7h3J32M5uopVAFq+FC9myLfIyuDfwne5HYVdWuQd6Vx0ojaHmEjeYgZ9 xOArlO467+iTg== To: Stephen Hemminger Cc: netdev@vger.kernel.org, cake@lists.bufferbloat.net In-Reply-To: <20180716100646.788fc9c0@xeon-e3> References: <20180716163926.4826-1-toke@toke.dk> <20180716100646.788fc9c0@xeon-e3> Date: Mon, 16 Jul 2018 19:56:00 +0200 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87o9f75akv.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] [PATCH iproute2-next v10] Add support for CAKE qdisc X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jul 2018 17:56:11 -0000 Stephen Hemminger writes: > On Mon, 16 Jul 2018 18:39:26 +0200 > Toke H=C3=B8iland-J=C3=B8rgensen wrote: > >> +#define PRINT_TSTAT(name, attr, fmts, val) do { \ >> + if (GET_TSTAT(0, attr)) { \ >> + fprintf(f, name); \ >> + for (i =3D 0; i < num_tins; i++) \ >> + fprintf(f, " %12" fmts, val); \ >> + fprintf(f, "\n"); \ >> + } \ >> + } while (0) > > Couldn't this be a function? Guess so? But keeping it as a macro keeps it closer to where it is defined, and keeps the macro definitions together. IMO this is more readable than splitting things up... -Toke