From patchwork Mon Mar 1 16:50:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Sterba X-Patchwork-Id: 12110261 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-21.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, INCLUDES_PULL_REQUEST,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 19E07C433E0 for ; Mon, 1 Mar 2021 16:52:23 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 5CC166509B for ; Mon, 1 Mar 2021 16:52:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5CC166509B Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 9EAC68D0088; Mon, 1 Mar 2021 11:52:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 99BA38D0063; Mon, 1 Mar 2021 11:52:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 88B1A8D0088; Mon, 1 Mar 2021 11:52:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0238.hostedemail.com [216.40.44.238]) by kanga.kvack.org (Postfix) with ESMTP id 73F518D0063 for ; Mon, 1 Mar 2021 11:52:21 -0500 (EST) Received: from smtpin04.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 3A24D181AF5CA for ; Mon, 1 Mar 2021 16:52:21 +0000 (UTC) X-FDA: 77871898482.04.D032E7C Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by imf29.hostedemail.com (Postfix) with ESMTP id 2A9A2D7 for ; Mon, 1 Mar 2021 16:52:19 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1614617536; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=U+5ZpAg7k3GbYMv33RTf8RSn8xdW5qBDE9NV7DZ/Z9o=; b=rNwQ0jFHFzkq2MlfMI6+lmnqz7EbgnPPXTLiZ43kunSCGpzEFxBCbAX4N+c2fsPhuxaHld PV7O9RUWl1e1CP+1nLLPzo+42nCvOvSiRmlGAF9r/9dAihywK29Kko26TxEQa0KPaZcsOu eHomxFWrS1Aiol/K/17pi7lYBwFN28s= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 9EEC8ADDD; Mon, 1 Mar 2021 16:52:16 +0000 (UTC) Received: by ds.suse.cz (Postfix, from userid 10065) id 00E44DA7AA; Mon, 1 Mar 2021 17:50:21 +0100 (CET) From: David Sterba To: torvalds@linux-foundation.org Cc: David Sterba , linux-kernel@vger.kernel.org, ira.weiny@intel.com, linux-mm@kvack.org Subject: [GIT PULL] Kmap conversions for 5.12, take 2 Date: Mon, 1 Mar 2021 17:50:13 +0100 Message-Id: X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 X-Stat-Signature: 8wu5g6uxsghds5quq3tumd57xgna8irc X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 2A9A2D7 Received-SPF: none (suse.cz>: No applicable sender policy available) receiver=imf29; identity=mailfrom; envelope-from=""; helo=mx2.suse.de; client-ip=195.135.220.15 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1614617539-309737 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: Hi, this pull request contains changes regarding kmap API use and eg. conversion from kmap_atomic to kmap_local_page. Changes against v1 [1]: - dropped patches using zero_user - retested with my regular fstests-based workloads over the weekend I'm keeping the original merge changelog as it seems to apply to v2 as well. Please pull, thanks. [1] https://lore.kernel.org/lkml/cover.1614090658.git.dsterba@suse.com/ The API belongs to memory management but to save cross-tree dependency headaches we've agreed to take it through the btrfs tree because there are some trivial conversions possible, while the rest will need some time and getting the easy cases out of the way would be convenient. The final patchset arrived shortly before merge window, which is not perfect, but given that it's straightforward I don't think it's too risky. I've added it to my for-next branch and it's been in linux-next for more than a week. Meanwhile I've been testing it among my regular branches with additional MM related debugging options. The changes can be grouped: - function exports, new helpers - new VM_BUG_ON for additional verification; it's been discussed if it should be VM_BUG_ON or BUG_ON, the former was chosen due to performance reasons - code replaced by relevant helpers ---------------------------------------------------------------- The following changes since commit 92bf22614b21a2706f4993b278017e437f7785b3: Linux 5.11-rc7 (2021-02-07 13:57:38 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git kmap-conversion-for-5.12 for you to fetch changes up to 80cc83842394e5ad3e93487359106aab3420bcb7: btrfs: use copy_highpage() instead of 2 kmaps() (2021-02-26 12:45:15 +0100) ---------------------------------------------------------------- Ira Weiny (6): mm/highmem: Lift memcpy_[to|from]_page to core mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() mm/highmem: Introduce memcpy_page(), memmove_page(), and memset_page() mm/highmem: Add VM_BUG_ON() to mem*_page() calls btrfs: use memcpy_[to|from]_page() and kmap_local_page() btrfs: use copy_highpage() instead of 2 kmaps() fs/btrfs/compression.c | 6 ++---- fs/btrfs/lzo.c | 4 ++-- fs/btrfs/raid56.c | 10 +-------- fs/btrfs/reflink.c | 6 +----- fs/btrfs/send.c | 7 ++----- fs/btrfs/zlib.c | 5 ++--- fs/btrfs/zstd.c | 6 ++---- include/linux/highmem.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ lib/iov_iter.c | 14 ------------- 9 files changed, 68 insertions(+), 46 deletions(-)