From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932412AbcARWMS (ORCPT ); Mon, 18 Jan 2016 17:12:18 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:38274 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754871AbcARWMP convert rfc822-to-8bit (ORCPT ); Mon, 18 Jan 2016 17:12:15 -0500 Date: Tue, 19 Jan 2016 00:12:11 +0200 From: Mihai =?UTF-8?B?RG9uyJt1?= To: Jeff Merkey Cc: linux-kernel@vger.kernel.org Subject: Re: x86_64 Compiler Output Kernel Bloat v4.4 Message-ID: <20160119001211.3fd67d31@mdontu-l.dsd.ro> In-Reply-To: References: Organization: Home MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 18 Jan 2016 14:45:48 -0700 Jeff Merkey wrote: > On 1/18/16, Jeff Merkey wrote: > > On 1/18/16, Jeff Merkey wrote: > > > I noticed that in the assembler output for the x86_64 builds almost > > > every single function originating from C code has a nop instruction > > > that prefaces the function call. I guess the concern with this is > > > the wasted space issue as each one of these placeholders takes up a > > > bunch of bytes at the head of each function. Is there a reason this > > > assembler header is there in the first place to anyones knowledge? > > > Since every single function just about is prefaced by this inert 5 > > > byte instruction it adds up to quite a bit of bloat in the size of the > > > linux executable. If I'm not mistaking, those bytes are used to dynamically enable ftrace: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/trace/ftrace-design.txt -- Mihai Donțu