Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp2300770pxu; Fri, 9 Oct 2020 13:04:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzG0Btz4LfWE6QgTetZsoJpBqQrKFNKFDf1Ch6FgjEyhLEf5kTyeGHgkop+DgXQ2uV1XhX/ X-Received: by 2002:aa7:d690:: with SMTP id d16mr933744edr.301.1602273887440; Fri, 09 Oct 2020 13:04:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602273887; cv=none; d=google.com; s=arc-20160816; b=V79TwUEkfaVP7c/YTQcX++luy8hJuhRp7mzgPC9YXIBM0aMc+Ueu/qoft5kwIPdIk0 Ia4tFJnpgXnl8FKGnHt1KdQIRPuv0tKKin9HkZLUbJ/p6r07jCsk3I6+k6IA0hKGE4Kh i/icToKboe9uzLy3ZbxxnT0KhtnK9bDIHzq2xh7ijKGwACyG1tGVhgEnV48UJYLO9S6F wHUZh/h9m2+XL/lYcdfnE9e3RSG1RtJqior8Wyv3earcFlWGjZGFAFwEPIzm6IFZzVR4 lE2TkfAadM0XZ7SvLVSgNt+RxK3Mv+iRU8zZTZsrkYatMM8DVLoN5XSPt7EbPuQxNL3c /xPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=9KbsfZWLnD6r/Dd+XCCtLeQxjuyiauqNm6DkII+MfbA=; b=W1331XiiugkiipGMQ7rqBLFEMVD3pEX8FwrgCCm0D7BRercysydOSPwWWJR2ofMxmy YddXzv36bvsxAr1l6AGQ8nQC4JKjSNZNtRgb/Rlbq1wPdrQB2B+LxPRvyOFyXETWN4x/ XbLly5Vu5EaTwaacV1u0JfG1I5oywxSGRRXBlGdJJCMGpXF0u0GOBo77B90E/9Go9CNX Evzz9GZ8J/seadfN19tzTAXmpn4Rp+baNnfPQf1pxzh3AdT3r1uhCH18svd6Iz4ef1ad MjuaMxJCUZqI9etYBhwlAi5CBndiUq2Kv+ZRiNv83v25brPESuJs2VcNpvwarIL7tE39 BcLg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f15si3105390ejr.2.2020.10.09.13.04.23; Fri, 09 Oct 2020 13:04:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391027AbgJIUEV (ORCPT + 99 others); Fri, 9 Oct 2020 16:04:21 -0400 Received: from mga11.intel.com ([192.55.52.93]:40547 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389150AbgJITw2 (ORCPT ); Fri, 9 Oct 2020 15:52:28 -0400 IronPort-SDR: JXvRbqfBSh4WcKKhlWmGAJjVVwBBqA0c3vVa62KiqhYKBoCAMWZ7xt97eKLwzIZS1eytWF28Tv 5/HLX+aDaNNA== X-IronPort-AV: E=McAfee;i="6000,8403,9769"; a="162067998" X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="162067998" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:52:26 -0700 IronPort-SDR: enOwdrUvox960YRmC5C0rYPH71vGkXRrRSf++MkJJnBOIwe1z1BLjEriaudfjb7SF8F3v1X02a epHq/DZLuLjw== X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="355863002" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:52:25 -0700 From: ira.weiny@intel.com To: Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Andy Lutomirski , Peter Zijlstra Cc: Ira Weiny , Richard Weinberger , x86@kernel.org, Dave Hansen , Dan Williams , Fenghua Yu , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, kexec@lists.infradead.org, linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org, devel@driverdev.osuosl.org, linux-efi@vger.kernel.org, linux-mmc@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-aio@kvack.org, io-uring@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-um@lists.infradead.org, linux-ntfs-dev@lists.sourceforge.net, reiserfs-devel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-nilfs@vger.kernel.org, cluster-devel@redhat.com, ecryptfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-afs@lists.infradead.org, linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, drbd-dev@lists.linbit.com, linux-block@vger.kernel.org, xen-devel@lists.xenproject.org, linux-cachefs@redhat.com, samba-technical@lists.samba.org, intel-wired-lan@lists.osuosl.org Subject: [PATCH RFC PKS/PMEM 27/58] fs/ubifs: Utilize new kmap_thread() Date: Fri, 9 Oct 2020 12:50:02 -0700 Message-Id: <20201009195033.3208459-28-ira.weiny@intel.com> X-Mailer: git-send-email 2.28.0.rc0.12.gb6a658bd00c9 In-Reply-To: <20201009195033.3208459-1-ira.weiny@intel.com> References: <20201009195033.3208459-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Ira Weiny The kmap() calls in this FS are localized to a single thread. To avoid the over head of global PKRS updates use the new kmap_thread() call. Cc: Richard Weinberger Signed-off-by: Ira Weiny --- fs/ubifs/file.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index b77d1637bbbc..a3537447a885 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c @@ -111,7 +111,7 @@ static int do_readpage(struct page *page) ubifs_assert(c, !PageChecked(page)); ubifs_assert(c, !PagePrivate(page)); - addr = kmap(page); + addr = kmap_thread(page); block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT; beyond = (i_size + UBIFS_BLOCK_SIZE - 1) >> UBIFS_BLOCK_SHIFT; @@ -174,7 +174,7 @@ static int do_readpage(struct page *page) SetPageUptodate(page); ClearPageError(page); flush_dcache_page(page); - kunmap(page); + kunmap_thread(page); return 0; error: @@ -182,7 +182,7 @@ static int do_readpage(struct page *page) ClearPageUptodate(page); SetPageError(page); flush_dcache_page(page); - kunmap(page); + kunmap_thread(page); return err; } @@ -616,7 +616,7 @@ static int populate_page(struct ubifs_info *c, struct page *page, dbg_gen("ino %lu, pg %lu, i_size %lld, flags %#lx", inode->i_ino, page->index, i_size, page->flags); - addr = zaddr = kmap(page); + addr = zaddr = kmap_thread(page); end_index = (i_size - 1) >> PAGE_SHIFT; if (!i_size || page->index > end_index) { @@ -692,7 +692,7 @@ static int populate_page(struct ubifs_info *c, struct page *page, SetPageUptodate(page); ClearPageError(page); flush_dcache_page(page); - kunmap(page); + kunmap_thread(page); *n = nn; return 0; @@ -700,7 +700,7 @@ static int populate_page(struct ubifs_info *c, struct page *page, ClearPageUptodate(page); SetPageError(page); flush_dcache_page(page); - kunmap(page); + kunmap_thread(page); ubifs_err(c, "bad data node (block %u, inode %lu)", page_block, inode->i_ino); return -EINVAL; @@ -918,7 +918,7 @@ static int do_writepage(struct page *page, int len) /* Update radix tree tags */ set_page_writeback(page); - addr = kmap(page); + addr = kmap_thread(page); block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT; i = 0; while (len) { @@ -950,7 +950,7 @@ static int do_writepage(struct page *page, int len) ClearPagePrivate(page); ClearPageChecked(page); - kunmap(page); + kunmap_thread(page); unlock_page(page); end_page_writeback(page); return err; -- 2.28.0.rc0.12.gb6a658bd00c9