From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B071BC001DF for ; Sun, 30 Jul 2023 21:42:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 05836280009; Sun, 30 Jul 2023 17:42:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 00796280006; Sun, 30 Jul 2023 17:42:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E38C6280009; Sun, 30 Jul 2023 17:42:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id D39B7280006 for ; Sun, 30 Jul 2023 17:42:54 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8E43180870 for ; Sun, 30 Jul 2023 21:42:54 +0000 (UTC) X-FDA: 81069603468.24.D76ECCA Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf24.hostedemail.com (Postfix) with ESMTP id 515A4180010 for ; Sun, 30 Jul 2023 21:42:51 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=hAIOP77A; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690753373; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1Opzr/5dCzOISssMERYtnogRBsg3jiV2CKz9u3Hxb8U=; b=3slchDnpaLKcCy6191VL0xbV6iXN9kZ8/OkvzmRZPpClgt/nAIWBVwm+76BM1EiOLR8mm5 lLGo7X7gSTYozfl8XKszBDtxCu7c77pLWZTKHKtI2Au6Vp1zOodtFpZttcQEQbGMV0kzFT 066YuV0e5g+42cBxgJPebaX3OwCcDkI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690753373; a=rsa-sha256; cv=none; b=474xLCy+pIk8HpIX/h4+FVYmLRxnndTQxw0RMpeU3APgcCzbAgE/hTJ7UfJ+I+xc2DB1Z2 lWcZ3+oeOU3sTyC1T4u1kUn8ko8DsU8DrG9jPvTXGhYnBJeC8jk/uYB4PJt/k+COCTX/dV Ipw+OJwY+9ut/4zwMQjM5IwJNEVKoFc= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=hAIOP77A; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=1Opzr/5dCzOISssMERYtnogRBsg3jiV2CKz9u3Hxb8U=; b=hAIOP77AAzhkO3U6Fw01MZwM+f uQkHPzoqWifaVO4Ih3pLtS0kiEYrph2CPjAEv5gSeI6NjkBo3jm05QeCuuPR/Qp8lZrBZYTuvn/v3 yjSMFohjsPE2GFt+qJmMkgNb4HD3T5NyHAZ7lyKLwBCBl32ZeTt6scjIIptj5ohEk7Qptasy/nMTm NaiVnhdxC233zFTLV7S8/1n1vbwJQw9krJYV5/ifLSkMaC/GqO/O2aZTFeAXWpdxDIeh27GKENp8T NZIDlol9DwCyOeaLK/bhetFRQknPcZwt4GpikVW7UkSihsKeAeyssRyAgqNCKDiciDDvd3+pE2Ahc Fj8Wfqpg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qQEBa-00FpI2-Jq; Sun, 30 Jul 2023 21:42:46 +0000 Date: Sun, 30 Jul 2023 22:42:46 +0100 From: Matthew Wilcox To: Zhu Yanjun Cc: linux-mm@kvack.org, Andrew Morton , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-afs@lists.infradead.org, linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 03/13] scatterlist: Add sg_set_folio() Message-ID: References: <20230621164557.3510324-1-willy@infradead.org> <20230621164557.3510324-4-willy@infradead.org> <40a3ab47-da3e-0d08-b3fa-b4663f3e727d@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <40a3ab47-da3e-0d08-b3fa-b4663f3e727d@linux.dev> X-Stat-Signature: k4faju8bgiejy9p1yhsxab7yrema9xpt X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 515A4180010 X-Rspam-User: X-HE-Tag: 1690753371-546334 X-HE-Meta: U2FsdGVkX19Af1dPV/d1bQa2gtk6oELzaslQ0AITaFcq021M5KEZS2Z1m6ZtM+k/jFU62Hlgnr+J7t3db2zv6GX5roMUoyqSeJmtp1GfLjzZ1UcFiQM1kfo/E2sPr/S6T2laDpi+l8RwqlLVpFQJ/l9sSVadfuFHApoOippph6F7/dvZG0DALjbxHfLCEVPXpDys4Gyx36VHhl+8UeSfTu9PMKRRFkdU2itki5VlsZD58aLxPcAFCzUY0CyXe82jbmBRnm8iis/EJAmhvGGFY+W9n8+Dp32Oow/XhIXSb0IJaeQwawL72UctfsMpircFfa3uXeMGObtPlCH5EFDq85ZZAciCDyn/VTHfh8Okynum3XFdnBCtumhq1hHRuBTgdD3sI1KHMtTODvTPIUs9nra3mV5aDItQH98dYjDVY7QXlwIKJmhK31c+FdZp9r+utFNJQkgvNHnjw2pyXv7cD1Wyx4K+/awSrjqKUNNXwwuiSPwR+/c15VaV3d/wpvCMLZ1cVbqHK2bwOZfGs70ueBKYamcVJ/8qmTGaaEhDV9B8nkZ4e2L9A5fZGN7eNBbk968j+zGeFLCav9tOCOMy0ADoJ7QIaxYUwQJPhnA3LhTEEdpTJiZIprp97v7pq+kqhCNCazwDigBr/haKaFoylUO31jpdLmUMUUSQ6JMFIGQab0xpPPeNL/PoamByvySp5rbis/VFHSFNoPlmMFzlEUdk5wwUksbq1klnq3SKHNZwQIByDLHaGrjcMrpmrdQkgCNkkzL3lF/xvufIJusZTXv8g91v9ljeznPz6axIDPebCVPGvCDC9OrrI9yDn97U2GmYwBlOv97Q23LTrqvDqa5ZjaA4JSa6SK+yCaYarmt5jjNBbqWwRyvkBs1X0vQv17zCUDYH/4yjdJFLKEZspkPVRv0LvNcVyPCFU3TRwTIOIR2JeRhpqe7E4cwGUsBqq9DfKbfBMgkNTFlTWN/ YKUCbusR IZEpAULBbeqZJKO3ewRzyOoyTAIIsNMmH93JGArc0ZSPctbbyXj4iPU4Vy9hkJHt4CD2eP6IS+tuLpdfxMImW3EvzSzMBKJZuarbep23sj85kXBdAXCsDOI7WZb7RF2MXiIEHrpxqGcxneJf1Xmv3bBwc9Bph0bjumDKEskIYkcYMWo58Cfr50exVCQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sun, Jul 30, 2023 at 09:57:06PM +0800, Zhu Yanjun wrote: > > 在 2023/7/30 19:18, Matthew Wilcox 写道: > > On Sun, Jul 30, 2023 at 07:01:26PM +0800, Zhu Yanjun wrote: > > > Does the following function have folio version? > > > > > > " > > > int sg_alloc_append_table_from_pages(struct sg_append_table *sgt_append, > > > struct page **pages, unsigned int n_pages, unsigned int offset, > > > unsigned long size, unsigned int max_segment, > > > unsigned int left_pages, gfp_t gfp_mask) > > > " > > No -- I haven't needed to convert anything that uses > > sg_alloc_append_table_from_pages() yet. It doesn't look like it should > > be _too_ hard to add a folio version. > > In many places, this function is used. So this function needs the folio > version. It's not used in very many places. But the first one that I see it used (drivers/infiniband/core/umem.c), you can't do a straightforward folio conversion: pinned = pin_user_pages_fast(cur_base, min_t(unsigned long, npages, PAGE_SIZE / sizeof(struct page *)), gup_flags, page_list); ... ret = sg_alloc_append_table_from_pages( &umem->sgt_append, page_list, pinned, 0, pinned << PAGE_SHIFT, ib_dma_max_seg_size(device), npages, GFP_KERNEL); That can't be converted to folios. The GUP might start in the middle of the folio, and we have no way to communicate that. This particular usage really needs the phyr work that Jason is doing so we can efficiently communicate physically contiguous ranges from GUP to sg. > Another problem, after folio is used, I want to know the performance after > folio is implemented. > > How to make tests to get the performance? You know what you're working on ... I wouldn't know how best to test your code.