From patchwork Sat Jun 4 22:00:30 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: 630314 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 3rMZg86XGXz9t2p for ; Sun, 5 Jun 2016 08:01:40 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=l52GvIqD; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751368AbcFDWBi (ORCPT ); Sat, 4 Jun 2016 18:01:38 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:36663 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751298AbcFDWB2 (ORCPT ); Sat, 4 Jun 2016 18:01:28 -0400 Received: by mail-pf0-f196.google.com with SMTP id 62so14605827pfd.3; Sat, 04 Jun 2016 15:01:27 -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=l52GvIqDARPIQ8MdymavqAwBxqPyI1L965NrOFGVGv1Hunz9RUZdGUob7gKXOULg7m B8wkRWkF4c3Q/LahHAqfLS3gXSda++TbVRS1bZtWI1rEbQTb2yvsJidtGhsSCc2AAikx ScCxUHY2S5Q3WT2d0sKatsTilxQDjIO3hOr8Vg6c8F0ic04hb95NR98+5bWWn3Ppulrm G07hQynjtX06OeOFFqSxpfDy/PZW+oZzBhW0RM0Khp2UZCW/JBGy7op98fSk+zmermke rwJ5oluOlLEU8E8FO8EXRNrF8ykYDvnJoWxeKD2ekI1ZR4gF5XfxKNOvqxE4mXSdQ43+ Wyyg== 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=AM+WyHoRdrTGp7ezmqG8wat6/C+uDma7+41K019QJzD7keiSSU4zrYWrpjCJd/mOAp FusQbLgqA4d5bCZtkqhcR6xLp2zm7Kczau5Oqd7FeHZzrAgljfiqN4vO95ewsVGty/dc ytbFxctA5yiL9FyFegBQaqAo5kVRpA8+nwLG8x9E2F/1cPPAweWQlncrxj3XbHnQDON/ MvrdxggnD3eMAv5hnKdlDQTGqiXD7OhGTUTSbDPKNVUGorsb60YP9+HlANMb0MsG8uBa 4bkgPPERFhWb/A+zkHKj9uqMOG0L38tjYeLO8oFIZ56E6I1HLiG30noWGFnOOiGpD3io EaZg== X-Gm-Message-State: ALyK8tKVNV7kRM/2TvDy7/YZ1l7dRm5waM/KW53p+Ii+RlrVyZsjFCKnJOqJ2W/6vbfWXQ== X-Received: by 10.98.75.146 with SMTP id d18mr15040341pfj.4.1465077686252; Sat, 04 Jun 2016 15:01:26 -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 y186sm17385539pfb.13.2016.06.04.15.01.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 04 Jun 2016 15:01:25 -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 3/3] arm64: bpf: optimize LD_ABS, LD_IND Date: Sat, 4 Jun 2016 15:00:30 -0700 Message-Id: <1465077630-633-3-git-send-email-zlim.lnx@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1465077630-633-1-git-send-email-zlim.lnx@gmail.com> References: <1465077630-633-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);