From nobody Mon Feb 9 23:39:20 2026 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1573125431; cv=none; d=zoho.com; s=zohoarc; b=kageztumhLaMtJfa39P71BNJTm1E/OyWB0GkXOJJk+IOeBsE4ZToa0hDW7T/aozQAvZq66DYQ0zv0uiNfK1f9phjJzoaVg03C08ZDEqJyEOWvtS4Lyk0R802RbBIxU8EETKQ5+cB697xpmuGfsCRMhDs+p+9Oxu9+C+nnLkz1Gg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1573125431; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zajfzO9IPbHfPFHc5E5N4jnBf58oXFBz5/magDhBEeI=; b=DFytZxQsncQA+BHLATOr+JroaJQWIkvYyqtR3L1EmDl8lmBgHsCZSZqkchIdBy54Qt1ytyqdsapvqqreOL+TnVbmW4ZZL2BWYJF9Zg4YbsEQ0Sl1NYGc010j6aCVD3BDyVktGg7SfkfjCPODqSbssgeWjiWIPtGxakEOh7oAkRk= ARC-Authentication-Results: i=1; mx.zoho.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1573125431773885.0985437616519; Thu, 7 Nov 2019 03:17:11 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iSflX-0001Vp-QU; Thu, 07 Nov 2019 11:15:51 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iSflW-0001Vk-NC for xen-devel@lists.xenproject.org; Thu, 07 Nov 2019 11:15:50 +0000 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id f3ccbdea-014f-11ea-a1c1-12813bfff9fa; Thu, 07 Nov 2019 11:15:49 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id BEBBDB3EB; Thu, 7 Nov 2019 11:15:48 +0000 (UTC) X-Inumbo-ID: f3ccbdea-014f-11ea-a1c1-12813bfff9fa X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org Date: Thu, 7 Nov 2019 12:15:46 +0100 Message-Id: <20191107111546.26579-3-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20191107111546.26579-1-jgross@suse.com> References: <20191107111546.26579-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v2 2/2] xen/gntdev: switch from kcalloc() to kvcalloc() X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Boris Ostrovsky , Stefano Stabellini MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" With sufficient many pages to map gntdev can reach order 9 allocation sizes. As there is no need to have physically contiguous buffers switch to kvcalloc() in order to avoid failing allocations. Signed-off-by: Juergen Gross Reviewed-by: Oleksandr Andrushchenko --- drivers/xen/gntdev.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c index 0578d369e537..f1bc0d269e12 100644 --- a/drivers/xen/gntdev.c +++ b/drivers/xen/gntdev.c @@ -113,14 +113,14 @@ static void gntdev_free_map(struct gntdev_grant_map *= map) gnttab_free_pages(map->count, map->pages); =20 #ifdef CONFIG_XEN_GRANT_DMA_ALLOC - kfree(map->frames); + kvfree(map->frames); #endif - kfree(map->pages); - kfree(map->grants); - kfree(map->map_ops); - kfree(map->unmap_ops); - kfree(map->kmap_ops); - kfree(map->kunmap_ops); + kvfree(map->pages); + kvfree(map->grants); + kvfree(map->map_ops); + kvfree(map->unmap_ops); + kvfree(map->kmap_ops); + kvfree(map->kunmap_ops); kfree(map); } =20 @@ -134,12 +134,13 @@ struct gntdev_grant_map *gntdev_alloc_map(struct gntd= ev_priv *priv, int count, if (NULL =3D=3D add) return NULL; =20 - add->grants =3D kcalloc(count, sizeof(add->grants[0]), GFP_KERNEL); - add->map_ops =3D kcalloc(count, sizeof(add->map_ops[0]), GFP_KERNEL); - add->unmap_ops =3D kcalloc(count, sizeof(add->unmap_ops[0]), GFP_KERNEL); - add->kmap_ops =3D kcalloc(count, sizeof(add->kmap_ops[0]), GFP_KERNEL); - add->kunmap_ops =3D kcalloc(count, sizeof(add->kunmap_ops[0]), GFP_KERNEL= ); - add->pages =3D kcalloc(count, sizeof(add->pages[0]), GFP_KERNEL); + add->grants =3D kvcalloc(count, sizeof(add->grants[0]), GFP_KERNEL); + add->map_ops =3D kvcalloc(count, sizeof(add->map_ops[0]), GFP_KERNEL); + add->unmap_ops =3D kvcalloc(count, sizeof(add->unmap_ops[0]), GFP_KERNEL); + add->kmap_ops =3D kvcalloc(count, sizeof(add->kmap_ops[0]), GFP_KERNEL); + add->kunmap_ops =3D kvcalloc(count, + sizeof(add->kunmap_ops[0]), GFP_KERNEL); + add->pages =3D kvcalloc(count, sizeof(add->pages[0]), GFP_KERNEL); if (NULL =3D=3D add->grants || NULL =3D=3D add->map_ops || NULL =3D=3D add->unmap_ops || @@ -158,8 +159,8 @@ struct gntdev_grant_map *gntdev_alloc_map(struct gntdev= _priv *priv, int count, if (dma_flags & (GNTDEV_DMA_FLAG_WC | GNTDEV_DMA_FLAG_COHERENT)) { struct gnttab_dma_alloc_args args; =20 - add->frames =3D kcalloc(count, sizeof(add->frames[0]), - GFP_KERNEL); + add->frames =3D kvcalloc(count, sizeof(add->frames[0]), + GFP_KERNEL); if (!add->frames) goto err; =20 --=20 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel