From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Date: Tue, 27 Jun 2017 23:58:16 +0000 Subject: Re: [PATCH 3/9] drbd: Drop unnecessary static Message-Id: List-Id: References: <1493928654-18768-1-git-send-email-Julia.Lawall@lip6.fr> <1493928654-18768-4-git-send-email-Julia.Lawall@lip6.fr> <20170505071945.GB6818@rck.sh> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Kees Cook , Roland Kammerer Cc: Julia Lawall , Philipp Reisner , kernel-janitors@vger.kernel.org, Lars Ellenberg , drbd-dev@lists.linbit.com, LKML On 06/27/2017 05:49 PM, Kees Cook wrote: > On Fri, May 5, 2017 at 12:19 AM, Roland Kammerer > wrote: >> On Thu, May 04, 2017 at 10:10:48PM +0200, Julia Lawall wrote: >>> Drop static on a local variable, when the variable is initialized before >>> any use, on every possible execution path through the function. The static >>> has no benefit, and dropping it reduces the code size. >>> >>> The semantic patch that fixes this problem is as follows: >>> (http://coccinelle.lip6.fr/) >>> >>> // >>> @bad exists@ >>> position p; >>> identifier x; >>> type T; >>> @@ >>> >>> static T x@p; >>> ... >>> x = <+...x...+> >>> >>> @@ >>> identifier x; >>> expression e; >>> type T; >>> position p != bad.p; >>> @@ >>> >>> -static >>> T x@p; >>> ... when != x >>> when strict >>> ?x = e; >>> // >>> >>> The change in code size is indicates by the following output from the size >>> command. >>> >>> before: >>> text data bss dec hex filename >>> 67299 2291 1056 70646 113f6 drivers/block/drbd/drbd_nl.o >>> >>> after: >>> text data bss dec hex filename >>> 67283 2291 1056 70630 113e6 drivers/block/drbd/drbd_nl.o >>> >>> Signed-off-by: Julia Lawall >>> >>> --- >>> drivers/block/drbd/drbd_nl.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c >>> index 02255a0..ad0fcb4 100644 >>> --- a/drivers/block/drbd/drbd_nl.c >>> +++ b/drivers/block/drbd/drbd_nl.c >>> @@ -2294,7 +2294,7 @@ static bool conn_ov_running(struct drbd_connection *connection) >>> static enum drbd_ret_code >>> check_net_options(struct drbd_connection *connection, struct net_conf *new_net_conf) >>> { >>> - static enum drbd_ret_code rv; >>> + enum drbd_ret_code rv; >>> struct drbd_peer_device *peer_device; >>> int i; >> >> Yes, that already got dropped for drbd9 and is obviously correct for >> in-tree drbd8. >> >> Signed-off-by: Roland Kammerer >> >> Regards, rck > > Which tree should this go through? Jens, I think yours? Yes, I'll queue it up for 4.13. Thanks Julia. -- Jens Axboe