Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp2304350pxu; Fri, 9 Oct 2020 13:10:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxblGjZrodXpox5i1SOhnEgDeQEDMEPfcPu4VftExpGo0blctDdlJ9zvOcQ8QoTrW8+2Mcs X-Received: by 2002:a17:906:a207:: with SMTP id r7mr16462386ejy.32.1602274228809; Fri, 09 Oct 2020 13:10:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602274228; cv=none; d=google.com; s=arc-20160816; b=ZbvI5e1N8e9UPWxQosZrg7Xhp8biRqHdzdduffrbzqPR+m+XoA7RvB8soWrtkT5nQx gt/KFXkXGIyorfdUu4D+JqLsbZxhWt9HVciKT9FgxQv+mmzpCs3zVWanAJXIObELl6NH ML/10x05pVG9lTH9OmwQyeCaDq+fYhwcSQLu4E3240HqFFpdykGVcSJpk3IcWbcAuZfD J0TvSBBSMfws8NVlSlvQ4tywmqzoyZUtDqVhq3SUiFAJDOxXDXjXYSY7VjL4nqWWNAGu Wu6MReY671At5CwLx2M4ltAwW1MlWMTbnVKE8mlry3XvCFuQZfUTO8/5QMbbVU1W/78p z3ug== 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=j2Eoso3z08sB/uznl84rcpJTXny4r18CXdmTTOoO4L4=; b=OB2RE42J5BP/i36mILf53I5BCsSkPsUOyrGQinEJiItyRk2XjbiOgmnPsLoeEtimJp N5/BEuZR+DiXn+6cUwXVG2d2/inhxgM2lNjYZNgFdegJ1wl0Z8o4/cCfs5twk3MkA04A pcIf9VmRrA23an6wPrvIBLqZCRuRkO+GcE0KmbSh1R4gI8C97IvKqKVUSnZWvV3TXVS/ ZSsskuHaikhFbLy3DHK5d4/Qf720Wy1UuYKRReNr3Mq7AfTaQvYXdefCS6cJobSm6jLy RsBgU84U8OEBmp9dyg5532Ld5zavOLODUbqX5WZLnc/e9nNQoEbaV7K6nqYpbZPBmwJw CwIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-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 m14si5745805ejb.236.2020.10.09.13.10.05; Fri, 09 Oct 2020 13:10:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-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-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-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 S2391788AbgJIUJA (ORCPT + 99 others); Fri, 9 Oct 2020 16:09:00 -0400 Received: from mga12.intel.com ([192.55.52.136]:29124 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390851AbgJITvS (ORCPT ); Fri, 9 Oct 2020 15:51:18 -0400 IronPort-SDR: BjVNbGWEsRp5ob82NyuDF9C0xKEegG65A+JRryG4Nh+TwGmSJ7KHpML9WJ4YeWqD9WoRDB2csA ScUnXHy+dHGw== X-IronPort-AV: E=McAfee;i="6000,8403,9769"; a="144850649" X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="144850649" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:51:16 -0700 IronPort-SDR: JrRKqLJV6Da/4fMbj+O46I413eP5nzJr39umbL7Y1s6mKMem5hJdGDAmJBrAS4XWsKikzHiU+3 eSwE6XBZdj5A== X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="518800998" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:51:15 -0700 From: ira.weiny@intel.com To: Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Andy Lutomirski , Peter Zijlstra Cc: Ira Weiny , Luis Chamberlain , 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 08/58] drivers/firmware_loader: Utilize new kmap_thread() Date: Fri, 9 Oct 2020 12:49:43 -0700 Message-Id: <20201009195033.3208459-9-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-nfs@vger.kernel.org From: Ira Weiny The kmap() calls in this driver are localized to a single thread. To avoid the over head of global PKRS updates use the new kmap_thread() call. Cc: Luis Chamberlain Signed-off-by: Ira Weiny --- drivers/base/firmware_loader/fallback.c | 4 ++-- drivers/base/firmware_loader/main.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c index 283ca2de76d4..22dea9ba7a37 100644 --- a/drivers/base/firmware_loader/fallback.c +++ b/drivers/base/firmware_loader/fallback.c @@ -322,14 +322,14 @@ static void firmware_rw(struct fw_priv *fw_priv, char *buffer, int page_ofs = offset & (PAGE_SIZE-1); int page_cnt = min_t(size_t, PAGE_SIZE - page_ofs, count); - page_data = kmap(fw_priv->pages[page_nr]); + page_data = kmap_thread(fw_priv->pages[page_nr]); if (read) memcpy(buffer, page_data + page_ofs, page_cnt); else memcpy(page_data + page_ofs, buffer, page_cnt); - kunmap(fw_priv->pages[page_nr]); + kunmap_thread(fw_priv->pages[page_nr]); buffer += page_cnt; offset += page_cnt; count -= page_cnt; diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c index 63b9714a0154..cc884c9f8742 100644 --- a/drivers/base/firmware_loader/main.c +++ b/drivers/base/firmware_loader/main.c @@ -409,11 +409,11 @@ static int fw_decompress_xz_pages(struct device *dev, struct fw_priv *fw_priv, /* decompress onto the new allocated page */ page = fw_priv->pages[fw_priv->nr_pages - 1]; - xz_buf.out = kmap(page); + xz_buf.out = kmap_thread(page); xz_buf.out_pos = 0; xz_buf.out_size = PAGE_SIZE; xz_ret = xz_dec_run(xz_dec, &xz_buf); - kunmap(page); + kunmap_thread(page); fw_priv->size += xz_buf.out_pos; /* partial decompression means either end or error */ if (xz_buf.out_pos != PAGE_SIZE) -- 2.28.0.rc0.12.gb6a658bd00c9