Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4128478ybb; Tue, 7 Apr 2020 01:03:49 -0700 (PDT) X-Google-Smtp-Source: APiQypKG/G0HCnMxwr9DiVrZJuzI6xjBGM7EOS/iv34kdi0+wkATsOffdQBorN2M+PCpR7v8RVOc X-Received: by 2002:a05:6830:1610:: with SMTP id g16mr556716otr.358.1586246629567; Tue, 07 Apr 2020 01:03:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586246629; cv=none; d=google.com; s=arc-20160816; b=cgUF/BG8bOFiVzztDG9MGB1yNX2yZo+pa2f0cPx0eL7sklDDlveQokpuVEZl4o1Pgh xkrE7agwknlkv6YVxQnUAEPAW7pDW22G7BIJQKNYbnQDWyOkhfB+pY8Jk6WMOM+erKlp Un2T4y57fpPOgdSyNWUmKyz1IQzGSrkuZ6NRxbgsdvBgwdgjewJkx0d819fR6BsyX/7u UAca3Qr22Wi2CbKuQ4s12LhC7MqmoT6NooVlEQ7DXuhtEYIZDrCvwJRU7+tQvmwCWUFz AcVCvaDRd3OR2ptw92sBNE8PwxVowd2zu5+9jVSTKM/zvR6isFaGPK1coAb8GkT7VLoE ufYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:references:in-reply-to:date :subject:cc:to:from; bh=Zi5Nhs0dz1keXQl4SMI+WpfsqBkU/g03VKb0KW5QsgA=; b=cVo9jxKmAmLR84yOmfzP9rnWvKmUlzAOYHJo4CrW9v9TINf57uKACE0ygKDc1HOTjs WEivMdSYljBhczR1tDWZnBz9r7QlrseyJZSgg4l0PwXVXfnIbUgQqvFbqro2L9BUikid HaBPWBWq9vP8tdWb76lGSCVKpeGVbZ34nwYMqJqgPp4PMgLH3YQq8i4DfoytIX8umieB TFsgeqEhmj+83bvZR6MS9sYXTmP+Cc4J43MjJILtw6EB5NFEu2e6TDQsgGjuH1M/09oB 8jo99Zd4+iUdCXJPT9/6JpNO4SchYfQnTnZSIBnylNLrHipmyD9S/eVL/pqoDWej6tSi TsWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y65si384132oie.92.2020.04.07.01.03.35; Tue, 07 Apr 2020 01:03:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727922AbgDGIBm (ORCPT + 99 others); Tue, 7 Apr 2020 04:01:42 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:21196 "EHLO mx0b-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727687AbgDGIBk (ORCPT ); Tue, 7 Apr 2020 04:01:40 -0400 Received: from pps.filterd (m0127361.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0377aFga191400 for ; Tue, 7 Apr 2020 04:01:39 -0400 Received: from e06smtp02.uk.ibm.com (e06smtp02.uk.ibm.com [195.75.94.98]) by mx0a-001b2d01.pphosted.com with ESMTP id 306n253189-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 07 Apr 2020 04:01:38 -0400 Received: from localhost by e06smtp02.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 7 Apr 2020 09:01:17 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (9.149.109.197) by e06smtp02.uk.ibm.com (192.168.101.132) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Tue, 7 Apr 2020 09:01:14 +0100 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 03781Vj529032666 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 7 Apr 2020 08:01:31 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45F0E52051; Tue, 7 Apr 2020 08:01:31 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id 0C91452054; Tue, 7 Apr 2020 08:01:31 +0000 (GMT) From: Niklas Schnelle To: Saeed Mahameed Cc: netdev@vger.kernel.org, "David S . Miller" , linux-kernel@vger.kernel.org, Leon Romanovsky , Eran Ben Elisha , Moshe Shemesh , Niklas Schnelle Subject: [RFC 1/1] net/mlx5: Fix failing fw tracer allocation on s390 Date: Tue, 7 Apr 2020 10:01:30 +0200 X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200407080130.34472-1-schnelle@linux.ibm.com> References: <20200407080130.34472-1-schnelle@linux.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 20040708-0008-0000-0000-0000036C0319 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 20040708-0009-0000-0000-00004A8D9BDA Message-Id: <20200407080130.34472-2-schnelle@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138,18.0.676 definitions=2020-04-07_01:2020-04-07,2020-04-06 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxlogscore=999 priorityscore=1501 malwarescore=0 bulkscore=0 impostorscore=0 suspectscore=2 lowpriorityscore=0 adultscore=0 mlxscore=0 spamscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004070059 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On s390 FORCE_MAX_ZONEORDER is 9 instead of 11, thus a larger kzalloc() allocation as done for the firmware tracer will always fail. Looking at mlx5_fw_tracer_save_trace(), it is actually the driver itself that copies the debug data into the trace array and there is no need for the allocation to be contiguous in physical memory. We can therefor use kvzalloc() instead of kzalloc() and get rid of the large contiguous allcoation. Signed-off-by: Niklas Schnelle --- drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c index c9c9b479bda5..5ce6ebbc7f10 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c @@ -935,7 +935,7 @@ struct mlx5_fw_tracer *mlx5_fw_tracer_create(struct mlx5_core_dev *dev) return NULL; } - tracer = kzalloc(sizeof(*tracer), GFP_KERNEL); + tracer = kvzalloc(sizeof(*tracer), GFP_KERNEL); if (!tracer) return ERR_PTR(-ENOMEM); @@ -982,7 +982,7 @@ struct mlx5_fw_tracer *mlx5_fw_tracer_create(struct mlx5_core_dev *dev) tracer->dev = NULL; destroy_workqueue(tracer->work_queue); free_tracer: - kfree(tracer); + kvfree(tracer); return ERR_PTR(err); } @@ -1061,7 +1061,7 @@ void mlx5_fw_tracer_destroy(struct mlx5_fw_tracer *tracer) mlx5_fw_tracer_destroy_log_buf(tracer); flush_workqueue(tracer->work_queue); destroy_workqueue(tracer->work_queue); - kfree(tracer); + kvfree(tracer); } static int fw_tracer_event(struct notifier_block *nb, unsigned long action, void *data) -- 2.17.1