Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp8742166rwl; Tue, 10 Jan 2023 18:45:00 -0800 (PST) X-Google-Smtp-Source: AMrXdXufdxiaIbmP6DgnUKS2LzM7vFM6lRKW5Y6JctkqwBmJbe827Db2wwkP2dp2JDVtH7l/zdiH X-Received: by 2002:a05:6402:449a:b0:47d:88f3:1165 with SMTP id er26-20020a056402449a00b0047d88f31165mr67912148edb.12.1673405100090; Tue, 10 Jan 2023 18:45:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673405100; cv=none; d=google.com; s=arc-20160816; b=PD7T9esoRbxwhG/OJEZ9DC3dOlu1mBwzHX8vweGMUISPZ89qvDyL4zYAPya0q+nOpU vi0mvCO+ZGktByLPnfyCdEOCW28KZCMNKA8yhreKQQ7anBe5/Gd/x63TWh0bh70snKRl KZAyPbrJ3cIr+TTCx8AhkL1tvmV1a1rGtUABcdqoLrWkosKOYFht6wxRo+xnmsyJ+RGZ 8SO3o6lSEmfvXU7Y2m9jYf7D1cNGgTyYjNW0fRrprz93LN8gMam6GNp3vrU/8ydlBPBd 1I+MFi6mB/0CvH4obev8DA5ehahHsH/f5/A8t4AGmk74CXsDZ0/AhamHT/GuQ1reb3gz 39bQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=stucP06R0qWVO+IUCALRaxe+XhbUCnMB6X6QtRA9Sko=; b=M2D8ZMD6yLv8H01BmviyjRATQhT4fWCFBKu8pkDYzYPUJ2N+X0DC+t3p9GHJcMaiB9 5GaQk2KODcqqz5gS1sP8w/BUdksdeHUoIIwAuzsnBfPHNKDstnjKUryluBs6Z1MCeT4I yYCgcKQiDU2k5BtSeyCax7erVWKKHdBcGmqKEy5e20izIf6UnYh+9TocL+VNdKCdTvOD z0z3KCp8tyLfYI5F56zxBmXuhfmQl8KqARx3m1jv4Gr7zu1/ct5cjt8QyY2CMZirWJ6C 3h/0GAdw/GcQ7VRAEH8+O1lrn1Q7isYiWghTshxAsRbwRKkj3ZXV5ASTWlVL0utIMbDW HMxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.org.uk header.s=zeniv-20220401 header.b=ZCQNIzOY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zeniv.linux.org.uk Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q19-20020a056402519300b0047f0a0bc793si15480454edd.352.2023.01.10.18.44.47; Tue, 10 Jan 2023 18:45:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.org.uk header.s=zeniv-20220401 header.b=ZCQNIzOY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zeniv.linux.org.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234664AbjAKCZn (ORCPT + 54 others); Tue, 10 Jan 2023 21:25:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233306AbjAKCZk (ORCPT ); Tue, 10 Jan 2023 21:25:40 -0500 Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [IPv6:2a03:a000:7:0:5054:ff:fe1c:15ff]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F95983 for ; Tue, 10 Jan 2023 18:25:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description; bh=stucP06R0qWVO+IUCALRaxe+XhbUCnMB6X6QtRA9Sko=; b=ZCQNIzOYkwHUig19qLe9/5Og8q plEZTfpntHXpPR5LLxIQLVI6G+DN6Javys4capsQOnmps842Cu+tLBfFtfztFEzKVlmJCEsfHWU/a jyCuKHe6BUcQyouIjz9X+iHCMgstdtldYHv9cNg9gI3hqDRcAaxZYki0gfRodDeusobi9rAsbcTzX kZ9mrhw631XTWHTQ8r+S4ZdWIQdWeNfnTnQNp2ikqynb2zXdB8BbsxdDTAAN5dUFDjRGcBo4JoaYM L1mV1XB7xTcS5PcH5zATfz/p/2dJsllUt6dX1cBs2tAZ7U3OXZEh8A+j+eBVB3E+mqc2A2ECwyW4/ 262EZcOg==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat Linux)) id 1pFQo3-0016gd-2Z; Wed, 11 Jan 2023 02:25:35 +0000 Date: Wed, 11 Jan 2023 02:25:35 +0000 From: Al Viro To: "Fabio M. De Francesco" Cc: linux-kernel@vger.kernel.org, "Venkataramanan, Anirudh" , Ira Weiny , Nicolas Pitre , Christian Brauner Subject: Re: [RESEND PATCH] fs/cramfs: Convert kmap() to kmap_local_data() Message-ID: References: <20230109182843.12056-1-fmdefrancesco@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230109182843.12056-1-fmdefrancesco@gmail.com> Sender: Al Viro X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 09, 2023 at 07:28:43PM +0100, Fabio M. De Francesco wrote: > The use of kmap() is being deprecated in favor of kmap_local_page(). > > There are two main problems with kmap(): (1) It comes with an overhead as > the mapping space is restricted and protected by a global lock for > synchronization and (2) it also requires global TLB invalidation when the > kmap’s pool wraps and it might block when the mapping space is fully > utilized until a slot becomes available. > > With kmap_local_page() the mappings are per thread, CPU local, can take > page faults, and can be called from any context (including interrupts). > It is faster than kmap() in kernels with HIGHMEM enabled. Furthermore, > the tasks can be preempted and, when they are scheduled to run again, the > kernel virtual addresses are restored and still valid. > > Since its use in fs/cramfs is safe everywhere, it should be preferred. > > Therefore, replace kmap() with kmap_local_page() in fs/cramfs. Instead > of open-coding kmap_local_page() + memcpy(), use memcpy_from_page(). Applied (#work.misc).