From mboxrd@z Thu Jan 1 00:00:00 1970 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=-6.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 E27AAC433DB for ; Thu, 7 Jan 2021 01:49:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9BD09230FC for ; Thu, 7 Jan 2021 01:49:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9BD09230FC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6CCFF8D0110; Wed, 6 Jan 2021 20:49:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6A5A58D0090; Wed, 6 Jan 2021 20:49:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 593508D0110; Wed, 6 Jan 2021 20:49:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0153.hostedemail.com [216.40.44.153]) by kanga.kvack.org (Postfix) with ESMTP id 3E6438D0090 for ; Wed, 6 Jan 2021 20:49:21 -0500 (EST) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 0A3033646 for ; Thu, 7 Jan 2021 01:49:21 +0000 (UTC) X-FDA: 77677296522.24.sort63_5d0c24e274e6 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin24.hostedemail.com (Postfix) with ESMTP id E76FC1A4A7 for ; Thu, 7 Jan 2021 01:49:20 +0000 (UTC) X-HE-Tag: sort63_5d0c24e274e6 X-Filterd-Recvd-Size: 3201 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf50.hostedemail.com (Postfix) with ESMTP for ; Thu, 7 Jan 2021 01:49:20 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id B30CF22EBF; Thu, 7 Jan 2021 01:49:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1609984159; bh=doqZnSsLCdDqGPlvrZj/h0iAnNN1drlPUlLMSBzsonk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=hGbJmoFDZMv+INHH05XMsJw9v6I3OfRL2/dXi+RTnL+VwKu5wLcV6VxSD0ikLT8Y2 Z52dYK3l4pf5142GRL4W7Rt8RrDRp2nY2JUY5cdNVuFgwGDqT/NsTErCN5j58Ra36k 1daBb1Iz7ZEwkqcrvats/lQkKF65NJNfEutcikPJqu4an2fOrpe8z+3nhkHzRJDH0T JFjtMTHTfDqSFVJtl67HhhXVG/zVX2UXdAi+NWppphyJxnpBeHBp4jJ1ApXvewKSo7 l4ZHXInUhEbXuYLUr1WGmVhw/9sra2XwPIfRxGOqUBjW+lQTciJZzvNBABYKJJ+FCn fFQlGzH2sJ6Hw== Date: Wed, 6 Jan 2021 17:49:17 -0800 From: Jakub Kicinski To: Linus Torvalds Cc: Steven Rostedt , Willem de Bruijn , David Miller , Jonathan Lemon , Thomas Gleixner , LKML , "the arch/x86 maintainers" , Christoph Hellwig , Matthew Wilcox , Daniel Vetter , Andrew Morton , Linux-MM , Peter Zijlstra , Ingo Molnar , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Netdev Subject: Re: [BUG] from x86: Support kmap_local() forced debugging Message-ID: <20210106174917.3f8ad0d8@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: References: <20201118194838.753436396@linutronix.de> <20201118204007.169209557@linutronix.de> <20210106180132.41dc249d@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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: On Wed, 6 Jan 2021 17:03:48 -0800 Linus Torvalds wrote: > I wonder whether there is other code that "knows" about kmap() only > affecting PageHighmem() pages thing that is no longer true. > > Looking at some other code, skb_gro_reset_offset() looks suspiciously > like it also thinks highmem pages are special. > > Adding the networking people involved in this area to the cc too. Thanks for the detailed analysis! skb_gro_reset_offset() checks if kernel can read data in the fragments directly as an optimization, in case the entire header is in a fragment. IIUC DEBUG_KMAP_LOCAL_FORCE_MAP only affects the mappings from explicit kmap calls, which GRO won't make - it will fall back to pulling the header out of the fragment and end up in skb_copy_bits(), i.e. the loop you fixed. So GRO should be good. I think..