Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754187AbdGCMEQ (ORCPT ); Mon, 3 Jul 2017 08:04:16 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:34263 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753367AbdGCMEI (ORCPT ); Mon, 3 Jul 2017 08:04:08 -0400 Date: Mon, 3 Jul 2017 21:04:15 +0900 From: Sergey Senozhatsky To: Arvind Yadav Cc: Sergey Senozhatsky , minchan@kernel.org, ngupta@vflare.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] zram: constify attribute_group structures. Message-ID: <20170703120415.GB836@jagdpanzerIV.localdomain> References: <65680c1c4d85818f7094cbfa31c91bf28185ba1b.1499061182.git.arvind.yadav.cs@gmail.com> <20170703090047.GB517@jagdpanzerIV.localdomain> <11272aaf-edac-4463-c0a9-de509d8901d6@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <11272aaf-edac-4463-c0a9-de509d8901d6@gmail.com> User-Agent: Mutt/1.8.3 (2017-05-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1322 Lines: 29 On (07/03/17 16:00), Arvind Yadav wrote: > On Monday 03 July 2017 02:30 PM, Sergey Senozhatsky wrote: > > On (07/03/17 11:43), Arvind Yadav wrote: > > > attribute_groups are not supposed to change at runtime. All functions > > > working with attribute_groups provided by work with const > > > attribute_group. So mark the non-const structs as const. > > > > > > File size before: > > > text data bss dec hex filename > > > 8293 841 4 9138 23b2 drivers/block/zram/zram_drv.o > > > > > > File size After adding 'const': > > > text data bss dec hex filename > > > 8357 777 4 9138 23b2 drivers/block/zram/zram_drv.o > > sorry, what exactly is the improvement here? > > we grew .text bigger, why should we be happy about it? > Yes, .text size is increased but .data size got decreased. > Overall size will be same. the text segment is often read-only, > to prevent a program from accidentally modifying its instructions. well, to the best of my knowledge, nothing in C standard guarantees that a variable with a C keyword 'const' will be placed into .text or .rodata. not even sure if all gcc versions have the same opinion on this. but ok, we can move that struct to one of the RO sections (up to the compiler to decide). -ss