From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S972747AbdDXQDQ (ORCPT ); Mon, 24 Apr 2017 12:03:16 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:34021 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S972701AbdDXQCy (ORCPT ); Mon, 24 Apr 2017 12:02:54 -0400 Subject: Re: [PATCH v3 07/29] x86: bpf_jit, use ENTRY+ENDPROC To: Ingo Molnar References: <697947f4-0a2c-1480-0995-9919556dc020@suse.cz> <20170424.104132.950580313142367896.davem@davemloft.net> <20170424.110844.1321374394090353753.davem@davemloft.net> <614ca52b-8a43-244e-8a3a-c39145ecc3e8@suse.cz> <20170424155507.miyqef7ld4hbmsej@gmail.com> Cc: David Miller , alexei.starovoitov@gmail.com, mingo@redhat.com, tglx@linutronix.de, hpa@zytor.com, x86@kernel.org, jpoimboe@redhat.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, daniel@iogearbox.net, edumazet@google.com From: Jiri Slaby Message-ID: <71301a81-1c61-fd4d-5b1b-5154fa723859@suse.cz> Date: Mon, 24 Apr 2017 18:02:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170424155507.miyqef7ld4hbmsej@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/24/2017, 05:55 PM, Ingo Molnar wrote: > * Jiri Slaby wrote: > >> On 04/24/2017, 05:08 PM, David Miller wrote: >>> If you align the entry points, then the code sequence as a whole is >>> are no longer densely packed. >> >> Sure. >> >>> Or do I misunderstand how your macros work? >> >> Perhaps. So the suggested macros for the code are: >> #define BPF_FUNC_START_LOCAL(name) \ >> SYM_START(name, SYM_V_LOCAL, SYM_A_NONE) >> #define BPF_FUNC_START(name) \ >> SYM_START(name, SYM_V_GLOBAL, SYM_A_NONE) >> >> and they differ from the standard ones: >> #define SYM_FUNC_START_LOCAL(name) \ >> SYM_START(name, SYM_V_LOCAL, SYM_A_ALIGN) >> #define SYM_FUNC_START(name) \ >> SYM_START(name, SYM_V_GLOBAL, SYM_A_ALIGN) >> >> >> The difference is SYM_A_NONE vs. SYM_A_ALIGN, which means: >> #define SYM_A_ALIGN ALIGN >> #define SYM_A_NONE /* nothing */ >> >> Does it look OK now? > > No, the patch changes alignment which is undesirable, it needs to preserve the > existing (non-)alignment of the symbols! OK, so I am not expressing myself explicitly enough, it seems. So, correct, the patch v3 adds alignments. I suggested in the discussion the macros above. They do not add alignments. If everybody is OK with that, v4 of the patch won't add alignments. OK? thanks, -- js suse labs