From patchwork Tue Jun 7 05:22:59 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: 631317 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 3rP0NR3Z7Zz9t43 for ; Tue, 7 Jun 2016 15:23:51 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=CLLajrQ/; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752759AbcFGFXj (ORCPT ); Tue, 7 Jun 2016 01:23:39 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:36391 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752688AbcFGFXh (ORCPT ); Tue, 7 Jun 2016 01:23:37 -0400 Received: by mail-pa0-f65.google.com with SMTP id fg1so13313262pad.3; Mon, 06 Jun 2016 22:23:37 -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=CLLajrQ/1LRtR/MO2bgMlIBrRB+fhQtY9TlncHTZrSUsnadMxvBt5l0GQlMIF8k4TI cBV8gk3qJlXpuQlRp++7tcPeumODZHazBmGGLayiERoxSM4E3V2tQZq+NEZyLQe6P4+h vbAU11OEAutR/6S3dYYF+TILM0dC8/R3LGYVJIAc77wH4fXgDsHKlDU7PT+a6jmxiSTo 85Girxk3fq2VKoPPdsjZ41cLXMRCr3fUmdqdrtRCBArC6tigl027aLf+KJ+1N2ysSeKS sgkMm6QgPKf8obfY3PQFmEiZN34OW+mullTwX3+jsy6FGlx8q2r8+QQGGmLVnV+dRf4K DlMQ== 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=kj6NAKJxRe0RqbIuK9BN/LDWvn9lZDuzSANpNiKYjFC2DlWPqwTsLVrWGjB4CbHR7h oT5BvAKINr04T0tYYEOL+V2XVxZ5byIJ/OrzI0FAd694vz47i7pb9BwV7FKZpTwhpkJW 1IhBBJ2sNBK9ffJuLeGzLeeTJGnUuVc1Gn4YPZgZcpCx2JM+mBaQFrN8mlHm+/exWuAi S8yFljWwkqlyTNd0iTwTE1a7AtMq3mmqN8HtJI8dTKV3jrGSKdbnAxMex2K5rXTsVz1/ SXRTG4a/hAIWdwDrPu7eVebfvjKU02x2hkJ2n9WCI1aO7gu7rDEuk0EQPK/12AX3TVhj Txpw== X-Gm-Message-State: ALyK8tJ3NMufvrhw9pNXiX48ZyJM+lHIWDtC6uY+yuyltFcGyZ4N+wv91gI9OSw14E7KjQ== X-Received: by 10.66.178.139 with SMTP id cy11mr28814362pac.157.1465277017115; Mon, 06 Jun 2016 22:23:37 -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 4sm31609674pfz.35.2016.06.06.22.23.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 06 Jun 2016 22:23:36 -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 v2 4/4] arm64: bpf: optimize LD_ABS, LD_IND Date: Mon, 6 Jun 2016 22:22:59 -0700 Message-Id: <1465276979-10147-5-git-send-email-zlim.lnx@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1465276979-10147-1-git-send-email-zlim.lnx@gmail.com> References: <1465276979-10147-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);