Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2427490pxb; Fri, 5 Feb 2021 18:49:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJytebaPQ0U4KhuR5gfRb1yKuvHk833TAOkaCzCYd1iW7PZz5vzG9R0imakkieL5PQggCmaX X-Received: by 2002:a17:907:98f3:: with SMTP id ke19mr6784784ejc.290.1612579753868; Fri, 05 Feb 2021 18:49:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612579753; cv=none; d=google.com; s=arc-20160816; b=LvOIS4rGCjn4Lhuj59YCnyzAtqp6dQzQjmnN5nlzl4oTJey+fR7pvBfLscVKAtW9Ve 1WlqVzTgHQIIO2/TYzK2VtUeZU1i7Wzjv1joDAPOyzzh9rEIWM8qJt2u6t7/FvWpu+zX 8/1k2oxudoLykCP9EkLn05Dr4QYM27Gm+0DsFgG1+R0g4+JLdmgW06xOejZCRdqyPJBs 3YWBkOy9VKwOqhbPS4psD+wuiR+RY7IRgq6X7rQs+/jgXeSdnk+SSPwGtKFTXmt0Bfef 9CuCzB+nwaNneuRvB8Wpos6xv/Ph8dAdLCF38utGFOMTJkUKpU8ObU1LLtokLDt728D5 pFuA== 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 :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=ea+5NPHyXhD8HgcPRWh9cZyXvQgA5ReHzAIZ00tGdN8=; b=Kvg/VnBQ+omGmbCmocHgzUIUgfACIoZObHAJJCzHk17UZtwhEkgGW8oKKMQq+3bnC/ MDDTz5wJwxKtPZ8cpf6P5Obw41A6u/ctdjzHIlcIN2lRwu83TsNe2+fbbux1zky6/Ise rOi/u0ZEYSA1bSGvjMW5B1PGttO3x9hl0qKgtwXjp3bvj9b7oNldHD7+6ZpgDOqozOQL 4LXySD9SnvLIiJKTH9Ch+TFxyeeBzFCbFKKu5wWZ4xqilfJb7ZKJ+tHJMC5UiqcOX00W 60QdU0oAYgidPTxHXdtNNOTxzFe5P5cqTIw/Giprp40jHcyDROmqutU+7KFfiIk8Us3h W6Og== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 g1si6632947ejr.346.2021.02.05.18.48.50; Fri, 05 Feb 2021 18:49:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-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-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 S231812AbhBFCqS (ORCPT + 99 others); Fri, 5 Feb 2021 21:46:18 -0500 Received: from mga14.intel.com ([192.55.52.115]:15180 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230392AbhBFCei (ORCPT ); Fri, 5 Feb 2021 21:34:38 -0500 IronPort-SDR: TCHA17zK98xYwtcNVhemcBbn1x/FKllJ7S0hdFsV7rt1brsr8LDYOX148FDhuglaz2Ftd+WJfW sWxI8BBt7jMQ== X-IronPort-AV: E=McAfee;i="6000,8403,9886"; a="180725349" X-IronPort-AV: E=Sophos;i="5.81,156,1610438400"; d="scan'208";a="180725349" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Feb 2021 15:23:08 -0800 IronPort-SDR: dfoMsox0sys4E2FEjMh74vTx+VIqCPoEifN+Z9LDi8Yd10bqmFOMN5AiRicZLQ0pgKcveL8uFj 8aziCvhiG2/g== X-IronPort-AV: E=Sophos;i="5.81,156,1610438400"; d="scan'208";a="373729251" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Feb 2021 15:23:08 -0800 From: ira.weiny@intel.com To: Andrew Morton , clm@fb.com, josef@toxicpanda.com, dsterba@suse.com Cc: Ira Weiny , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH 0/4] btrfs: Convert kmaps to core page calls Date: Fri, 5 Feb 2021 15:23:00 -0800 Message-Id: <20210205232304.1670522-1-ira.weiny@intel.com> X-Mailer: git-send-email 2.28.0.rc0.12.gb6a658bd00c9 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ira Weiny There are many places where kmap//kunmap patterns occur. We lift these various patterns to core common functions and use them in the btrfs file system. At the same time we convert those core functions to use kmap_local_page() which is more efficient in those calls. I think this is best accepted through Andrew's tree as it has the mem*_page functions in it. But I'd like to get an ack from David or one of the other btrfs maintainers before the btrfs patches go through. There are a lot more kmap->kmap_local_page() conversions but kmap_local_page() requires some care with the unmapping order and so I'm still reviewing those changes because btrfs uses a lot of loops for it's kmaps. Thanks, Ira Ira Weiny (4): mm/highmem: Lift memcpy_[to|from]_page to core fs/btrfs: Use memcpy_[to|from]_page() fs/btrfs: Use copy_highpage() instead of 2 kmaps() fs/btrfs: Convert to zero_user() fs/btrfs/compression.c | 11 +++------ fs/btrfs/extent_io.c | 22 ++++------------- fs/btrfs/inode.c | 33 ++++++++----------------- fs/btrfs/lzo.c | 4 ++-- fs/btrfs/raid56.c | 10 +------- fs/btrfs/reflink.c | 12 ++-------- fs/btrfs/send.c | 7 ++---- fs/btrfs/zlib.c | 10 +++----- fs/btrfs/zstd.c | 11 +++------ include/linux/highmem.h | 53 +++++++++++++++++++++++++++++++++++++++++ lib/iov_iter.c | 26 +++----------------- 11 files changed, 86 insertions(+), 113 deletions(-) -- 2.28.0.rc0.12.gb6a658bd00c9