From patchwork Wed Apr 17 19:56:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Lemon X-Patchwork-Id: 1087181 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44ktK732QLz9s3l for ; Thu, 18 Apr 2019 05:56:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730040AbfDQT4K (ORCPT ); Wed, 17 Apr 2019 15:56:10 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:50504 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726751AbfDQT4K (ORCPT ); Wed, 17 Apr 2019 15:56:10 -0400 Received: from pps.filterd (m0109334.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x3HJm2Gp018803 for ; Wed, 17 Apr 2019 12:56:09 -0700 Received: from mail.thefacebook.com (mailout.thefacebook.com [199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2rx0t2t87w-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 17 Apr 2019 12:56:09 -0700 Received: from mx-out.facebook.com (2620:10d:c081:10::13) by mail.thefacebook.com (2620:10d:c081:35::129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.1.1713.5; Wed, 17 Apr 2019 12:56:08 -0700 Received: by devvm34215.prn1.facebook.com (Postfix, from userid 172786) id 02A72212F1463; Wed, 17 Apr 2019 12:56:06 -0700 (PDT) Smtp-Origin-Hostprefix: devvm From: Jonathan Lemon Smtp-Origin-Hostname: devvm34215.prn1.facebook.com To: CC: , Smtp-Origin-Cluster: prn1c35 Subject: [PATCH 1/2 net-next] mlx5: Set AF_XDP data pointer correctly. Date: Wed, 17 Apr 2019 12:56:04 -0700 Message-ID: <20190417195605.2810852-1-jonathan.lemon@gmail.com> X-Mailer: git-send-email 2.17.1 X-FB-Internal: Safe MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-04-17_09:, , signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org data starts at handle + headroom, so adjust appropriately. Signed-off-by: Jonathan Lemon --- drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c index 2f0b5fd1ee97..e758f1015022 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c @@ -290,7 +290,8 @@ int mlx5e_xsk_page_alloc_umem(struct mlx5e_rq *rq, return -ENOMEM; dma_info->xsk.handle = handle + rq->buff.umem_headroom; - dma_info->xsk.data = xdp_umem_get_data(umem, handle); + dma_info->xsk.data = xdp_umem_get_data(umem, handle) + + rq->buff.umem_headroom; /* No need to add headroom to the DMA address. In striding RQ case, we * just provide pages for UMR, and headroom is counted at the setup From patchwork Wed Apr 17 19:56:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Lemon X-Patchwork-Id: 1087182 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44ktK81Hv5z9s5c for ; Thu, 18 Apr 2019 05:56:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730355AbfDQT4K (ORCPT ); Wed, 17 Apr 2019 15:56:10 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:38808 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729782AbfDQT4K (ORCPT ); Wed, 17 Apr 2019 15:56:10 -0400 Received: from pps.filterd (m0109331.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x3HJlUpn021109 for ; Wed, 17 Apr 2019 12:56:09 -0700 Received: from mail.thefacebook.com (mailout.thefacebook.com [199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2rx7w1gp75-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 17 Apr 2019 12:56:09 -0700 Received: from mx-out.facebook.com (2620:10d:c081:10::13) by mail.thefacebook.com (2620:10d:c081:35::125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.1.1713.5; Wed, 17 Apr 2019 12:56:08 -0700 Received: by devvm34215.prn1.facebook.com (Postfix, from userid 172786) id 05ACE212F1465; Wed, 17 Apr 2019 12:56:06 -0700 (PDT) Smtp-Origin-Hostprefix: devvm From: Jonathan Lemon Smtp-Origin-Hostname: devvm34215.prn1.facebook.com To: CC: , Smtp-Origin-Cluster: prn1c35 Subject: [PATCH 2/2 net-next] mlx5: Adjust handle based on xdp values. Date: Wed, 17 Apr 2019 12:56:05 -0700 Message-ID: <20190417195605.2810852-2-jonathan.lemon@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190417195605.2810852-1-jonathan.lemon@gmail.com> References: <20190417195605.2810852-1-jonathan.lemon@gmail.com> X-FB-Internal: Safe MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-04-17_09:, , signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org bpf_prog_run_xdp() may change the start/length values in xdp. Adjust the umem handle so it reflects the possibly updated values. Signed-off-by: Jonathan Lemon --- drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c index 78f39af8541f..9ae1eb8239e7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c @@ -115,7 +115,7 @@ bool mlx5e_xdp_handle(struct mlx5e_rq *rq, struct mlx5e_dma_info *di, act = bpf_prog_run_xdp(prog, &xdp); if (xsk) - xdp.handle = di->xsk.handle + *rx_headroom; + xdp.handle += xdp.data - xdp.data_hard_start; switch (act) { case XDP_PASS: *rx_headroom = xdp.data - xdp.data_hard_start;