From patchwork Thu Jun 9 04:18:50 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zi Shen Lim X-Patchwork-Id: 632620 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rQBv82GKGz9snm for ; Thu, 9 Jun 2016 14:21:08 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=m2SpGUi2; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1426524AbcFIEUx (ORCPT ); Thu, 9 Jun 2016 00:20:53 -0400 Received: from mail-pa0-f66.google.com ([209.85.220.66]:33880 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752610AbcFIETV (ORCPT ); Thu, 9 Jun 2016 00:19:21 -0400 Received: by mail-pa0-f66.google.com with SMTP id ug1so1830705pab.1; Wed, 08 Jun 2016 21:19:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=djtcz5r1F5Od573NPDnesOyn+iFkddujXMugj7lF72Y=; b=m2SpGUi26lrBRL6K7U0oWMw4mz2RWrA88wDTgrpbHRgufPGXvfQy+hXRi+86RhWy3U kEyiG3jTGVSDinU/dzH9GILR2BNwvesbinzbyO30VEt876QJfkrQ5j7rfGeHaURzus8q OK/DPzTpE+74T2rYMG15Tl68/AXJlnZ3Wox6Bxq5iQHSbutVvqq1O9MZMNe7iENGz7v9 rkH4Q/wXALB9A8bb/PswgiwQEGUqWbeUgoO42UJG3Emf/X0oSatwsi7lrD55v9BzrOzR RmaNVxzf4w8ljeJvLIUUWIUuhR0f3GmY1/8fwxeH+9AvhqqCS2BcjAcj31HHxAdzVb3z opMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=djtcz5r1F5Od573NPDnesOyn+iFkddujXMugj7lF72Y=; b=Zxt0uF3EG3Dlw9WEirkkq9iNKGXYJsrVPrl491C5fItu6Cjs0LtDNjyGqCmVAFEWwx z6rZQZAAkmrpDUWfimalDgfx9wmGZ/AOHHU/TwAM46Hyi7hIfP26JGR96/pFSo+AMZu7 TdLZQ2jqk43PaNilcQAMRw6Y4tjYZswPqAPhb3OdzGbq44c9jCDiLUNRj2SSxMmV22Ak VJSYbgGhn8ZrVTYedotxNKHRUcDzscKoi818zHbRdVojtQ20IszLDTrsa/1u2w6TZaWn D8k7lAVROuhjkKb2zpLRj1VzVE3BwkvvucecU4LfyvBGV//ZsHbGN/mU2iC0yB2BYPH1 77DQ== X-Gm-Message-State: ALyK8tJ2PP4Hkv2trwm5ar3g/MAm0E4VLhyRM5kxobiid1F2yESajsE6KbkhRuGLFNmhvw== X-Received: by 10.66.237.175 with SMTP id vd15mr9677291pac.139.1465445961006; Wed, 08 Jun 2016 21:19:21 -0700 (PDT) Received: from localhost.localdomain (c-73-223-118-172.hsd1.ca.comcast.net. [73.223.118.172]) by smtp.gmail.com with ESMTPSA id c13sm5848579pfc.40.2016.06.08.21.19.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Jun 2016 21:19:20 -0700 (PDT) From: Zi Shen Lim To: "David S. Miller" , Catalin Marinas , Will Deacon Cc: Zi Shen Lim , Yang Shi , Alexei Starovoitov , Daniel Borkmann , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v3 4/4] arm64: bpf: optimize LD_ABS, LD_IND Date: Wed, 8 Jun 2016 21:18:50 -0700 Message-Id: <1465445930-3960-5-git-send-email-zlim.lnx@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1465445930-3960-1-git-send-email-zlim.lnx@gmail.com> References: <1465445930-3960-1-git-send-email-zlim.lnx@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Remove superfluous stack frame, saving us 3 instructions for every LD_ABS or LD_IND. Signed-off-by: Zi Shen Lim --- arch/arm64/net/bpf_jit_comp.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c index 7ae304e..b2fc97a 100644 --- a/arch/arm64/net/bpf_jit_comp.c +++ b/arch/arm64/net/bpf_jit_comp.c @@ -731,11 +731,8 @@ emit_cond_jmp: emit_a64_mov_i64(r3, size, ctx); emit(A64_SUB_I(1, r4, fp, STACK_SIZE), ctx); emit_a64_mov_i64(r5, (unsigned long)bpf_load_pointer, ctx); - emit(A64_PUSH(A64_FP, A64_LR, A64_SP), ctx); - emit(A64_MOV(1, A64_FP, A64_SP), ctx); emit(A64_BLR(r5), ctx); emit(A64_MOV(1, r0, A64_R(0)), ctx); - emit(A64_POP(A64_FP, A64_LR, A64_SP), ctx); jmp_offset = epilogue_offset(ctx); check_imm19(jmp_offset);