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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C345BC64ED8 for ; Mon, 27 Feb 2023 05:44:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 34D2C6B0074; Mon, 27 Feb 2023 00:44:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2FD546B0075; Mon, 27 Feb 2023 00:44:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 14FF56B0078; Mon, 27 Feb 2023 00:44:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 027446B0074 for ; Mon, 27 Feb 2023 00:44:29 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BAE3A1A0659 for ; Mon, 27 Feb 2023 05:44:29 +0000 (UTC) X-FDA: 80511981858.01.57DA218 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf24.hostedemail.com (Postfix) with ESMTP id CF547180005 for ; Mon, 27 Feb 2023 05:44:25 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=T6GtUgUj; spf=pass (imf24.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677476666; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3qXdYXHY5YOW6Tgz14sarXh/NPiII+V3zkFRgH9hHyU=; b=lyeQAkZCbAJL/KuffW7qtUzpCdadDzSHjLWjoejfcyDKoXyMyK83Odhg8zw3rpvuDiSLlt mTO4M6Mr5FBlNOBT53ojzyfRYMR54mReMbGpnoyGrkvJ5PqCBC3WFS39GsF6w8yLgS9Wbc 5pIM2eoKzNfBupneBjELUJ751TsbToo= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=T6GtUgUj; spf=pass (imf24.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1677476666; a=rsa-sha256; cv=fail; b=WnGowrNB2Jq2HddKZMk6Tf8S1TPURKYSbzgJv+TIxxHM/QftS3hG++2lP4qFF1zmZ6+ZSq kY80YQXEdPtlIN54AnnuLZI+o2Gzp7Vy5QcA5oMS10AsQGjUYOfYJj42/d1nlpx+rrh2JI LJ4mbNk5WTnvz2ln+KEi/z/RiJ1gCI0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677476665; x=1709012665; h=message-id:date:subject:to:references:from:in-reply-to: content-transfer-encoding:mime-version; bh=BAZ2xntbjKy2pbC737rU4a9ZNBR6UhMxABjVTn91If0=; b=T6GtUgUj518od9y3VT8H4XDecD0E/6snKCJrx3QsEdaQzUU4GHoCdMTz GorvYq+PwjDGrrNH6DvPBfFcv4ON0P6QpFzD3TTy6PA5aPOQMB89xWmCQ WSLnBJt7kfuQaTWC36VTMz1Rpq9RpiJ9FMJYODX/r6e0aMbUw+ryOVjBT kySrrNw4FBGW1YepjOKoOqucWfIQe/H8PkjIF+4QFJjl0oL+G6x5UzC/G OSg3nXtapSfO1F/4z5zc+UbFCGUL4hpM9CawZjh/Ot1uClLZufeBiZVn2 uE43nnVxE6Qhwv/2qdjixSchzTF9LtSmsiYYeqKBuW8TK+2+rjLVJBevi Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10633"; a="313454468" X-IronPort-AV: E=Sophos;i="5.97,331,1669104000"; d="scan'208";a="313454468" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Feb 2023 21:44:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10633"; a="675678590" X-IronPort-AV: E=Sophos;i="5.97,331,1669104000"; d="scan'208";a="675678590" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 26 Feb 2023 21:44:24 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Sun, 26 Feb 2023 21:44:23 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Sun, 26 Feb 2023 21:44:23 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Sun, 26 Feb 2023 21:44:23 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.102) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Sun, 26 Feb 2023 21:44:22 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gFiwagey+Io6kpy7YFn5PZWA4e1bo1dq08sue7TShhBczBj/ZYfjr0HXCPUvzVkPbE4s+NS+/6LsLK9zGLW0M1EUdyIinjrBs5WmTcmPgUdwGsZ7itIb1MX8zoB5UyUNK0EEub6OM4GdkY0yKMwnYR099G57sPTKkhxrvdEsLyL1UiaVxKvZ4Cp8q+aGk1D5sYSQIZ4mMnPvu6PiiT/LbZeeoei2vQHu5z/0tRbXGUFpWK+qTJSQ/8x/Yz65aETATe6hSZMNxU6fuysJngFgdmVEq67VcYDEXwW2UJ0Efc0DI41QSy+aZJ9eHIeVJrm+9YVzRC8eBxa6o6xGeQ6Xnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3qXdYXHY5YOW6Tgz14sarXh/NPiII+V3zkFRgH9hHyU=; b=KBUSFBU13N49MMhunvbbzv7qI6jJZrmCztYBh/ABV5LufUBQdK/HhG00oG/dfa8ZekzmlNxKLqK/4bYf6sA/B2mvkp0WolhO0oS/jX63gZgu7X+BI1FAa3ipnJNul38zlk/cHVOOfnBSw4PbgM96jmDRHRU1fK432s6mkCvltrWXFKlFClHEA2zGzIgilaZNa4eAIiWJHzRd7EwUy34bcQPfaEGkFw2BEswDSThxiXc+6jARDZN6HWeGwhAp7UTYsOKFBx7w3r6tLpgk9u3m9gqFiTEyAbjRgiMsypox85XqLQJTwlrW0nDa/vskzjQ7VRV11SWVE+1ggg8u5gMYLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) by PH0PR11MB5805.namprd11.prod.outlook.com (2603:10b6:510:14a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21; Mon, 27 Feb 2023 05:44:15 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::8073:f55d:5f64:7c6]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::8073:f55d:5f64:7c6%8]) with mapi id 15.20.6134.028; Mon, 27 Feb 2023 05:44:15 +0000 Message-ID: <6d511294-c6c9-ec96-c19a-03c2df89f9de@intel.com> Date: Mon, 27 Feb 2023 13:44:07 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.8.0 Subject: Re: [RFC PATCH 2/2] mm: add zero_user_folio_segments() To: Ira Weiny , , References: <20230216160528.2146188-1-fengwei.yin@intel.com> <20230216160528.2146188-3-fengwei.yin@intel.com> <63fc403339d48_3e7f294ad@iweiny-mobl.notmuch> Content-Language: en-US From: "Yin, Fengwei" In-Reply-To: <63fc403339d48_3e7f294ad@iweiny-mobl.notmuch> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR06CA0214.apcprd06.prod.outlook.com (2603:1096:4:68::22) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|PH0PR11MB5805:EE_ X-MS-Office365-Filtering-Correlation-Id: d3dc3539-4955-400a-3869-08db1885a909 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pMzY3kcac/gLbd4/6ZOmyRFZbPr6QjNfnhTfjlet3smOHHyda/sMB+Lvoi8L1UZnKqzYaZGK7O+J3h0XOMT4Z3dt+GujtcE6/Sk8MWzcoFwjH5uuSaSiy6juOvHnmX11Bbn54bss+Z6YIpbKNhqezCTetJivVMRAVTJ1BLGHQBWaHNCh2Ts/PCSaQuCnXlTdRBq+ts4qDgAgghJxwZGH2f8IKrya9IkZqWLOyKKH7GQVG5dBe7Cv4LTrYRocUa1JGzFZg3kz3sv3QMMC3nhXYZQPfVKh0nHEVggYJXczhK8pgNsM7dCdu5DtGXHcXOJ0tTbZ9cP8C/uDmC83BOuhLpc4JdcEmtHEF6DpRi6rB/8xnVNAIIv1Dem9pnlVXy4BfJhKjbiaCy9onMBf0YvabtMQmyD86SgmXiSsv3A9JaMu1D8Uo3HPu+DAUzJOu99+NKK8oW927wSwo6DouNvAgNlbxBoNy7oF3o5rOKHNVTWqGJIoN5h/wODKZZQJW7kV7zVdfdcntfWmCdHr7JljF2qONR5XXGD3/dDCVuU90KRdjDO8jh4IwJVgSyd7dgVMtkj7aiyHsAuiRzQeazA3XfhEZimfjRDSjMqYPwnbUTwkTscOXv7lyxEf1I5Pvu13+OnspAMHYGEFrKQC8UyG57nGuG5J0eKciTie9EjyH8pfxlzgIX3diVl0iVLqM9upxQWlmwgIczwQlmhLQXSVaU6kTE1ScA3VIfbGAyoe6Uk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4820.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(366004)(396003)(39860400002)(376002)(451199018)(478600001)(31696002)(41300700001)(83380400001)(66946007)(66556008)(8676002)(6506007)(5660300002)(2616005)(8936002)(6666004)(316002)(186003)(6512007)(53546011)(6486002)(36756003)(26005)(66476007)(2906002)(38100700002)(86362001)(82960400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QUd6UFRKajZlVE5DekJuWXJlOXAyRlhteG5ySlpraUlWWDVZK29qaEM2cXJi?= =?utf-8?B?Njd4bXBvS3RXYk9TTFg1K25FM1FFRzZYejZhNUtMdzBPWG5GL2ZKZEd5RnNl?= =?utf-8?B?bXIzeHd2Z29CdHllK2R0L0EvbzBFc3pPMmdGSnUxK2Yzb2l4cjAyVXNjbjln?= =?utf-8?B?SXVDK0xhUHhNZndiK0ZnN08yQm1BVENrZzNIaTdWcnFiZDYrZkRvQzV1cUlK?= =?utf-8?B?Q1JSZVpRYlNlR29VaWNoVWZPQW5nZy9lZzNpNnVla1UxWFhnWTFidkp0REJ4?= =?utf-8?B?a2c3WVJtT1dhU2RMSXVJWWIrSVpDMEY1QlZqQk9uZjBnVTdKbExHRU90V3ds?= =?utf-8?B?TEpyWUxHcnZjVUdsM0ZtZnRSVGVQL3A4SDhDbU5YNEt0aUZaUStpTWcyL2dj?= =?utf-8?B?enR1ditHaGo4TGhiYlMrbWF1NDVlQ1VGU2dxL0VJTEg1N29yR1J1TmdOTTNk?= =?utf-8?B?TVRZOGR0Zmx1MUdKenpnSjZGdnJzdStxcVc2dGxGRkZjSDFna3dXNnRQVmc2?= =?utf-8?B?MEQySDZpbElvdWVCU00xNW00eWFXSXNzb3phQ2VqcnFBS3FMazlVbUpsSEJO?= =?utf-8?B?UlBLK09aM0hWQjRUWjB3U2RWZkV5cFowTW1IS0hHcVgwQnhudHFtS2s5WVRm?= =?utf-8?B?OE1jZUJOaXZyY003T2hMa0lzRkhkWXplWThOb1duZnFwV0dVY1ZmRk42c3RN?= =?utf-8?B?TUwwV0YwZVVDekdrOWtWakh1UHdxVjNhT1hhNXBwcTdhdEw2T0dRNmRkNTAy?= =?utf-8?B?R3UxMW9PRXlQRHRJTHFHQ0JhTlE3dGpob1dBcWJhS3lITVZmQVlSZ2RCN2tB?= =?utf-8?B?Z25ZTGwxSTZ1dFErcFJEODhJS2xtaTZrdDNKM2wvV0ZMUHlsdXM2bFhvQVZ5?= =?utf-8?B?UFZzd1N5NFlTM0djUHozaWcyaERlTWp6S0JidysrdDJOUFJuS2g5WjQ1YTBG?= =?utf-8?B?b1Z4NlJGTDY0RlJwZ2hlWTM1dEVNYzFvVkt5UXEvV25aaW16dm5Eci9CZlRo?= =?utf-8?B?ZXIrSFh1czU1Q1NuSVVrTWlpa3JLajR4WURMYnNpd1lSWFIyT0tUN2pZdm8w?= =?utf-8?B?eVBjcnJtejY1V1pQTGFYZlozL2JoK3pOTVlIOGFTK1NHRGlUR21IMmhHZXAy?= =?utf-8?B?NmgvRUdmak9aRnQrV1pvTHN5dnIwK212RSt5M2RHclVrWmUvOXVBdDNGK0Nu?= =?utf-8?B?RG5wdTU3eEhvU2s3ajcrUDcvcXNxb1R1YVNabzcwU1RpaTk2N21IMjFkdEwy?= =?utf-8?B?QmdlQnFhNW1sVlJNeVB1M3pHdnYwa281SW9PU0s0THltRCsza2FUc3g3SWt6?= =?utf-8?B?UzJtVFJpWmFGNmM0K0I0SkdoUytlUVUzNmFuUEhRdzRtbi9ObVRaM3VOd0gv?= =?utf-8?B?d2M3ZGNNakV2OEZDWWRCSmExSkc0UVQ4azZleUlaejQxWllVRnAyUGFvc3JS?= =?utf-8?B?ZCtiTE1vZThRbHhBelV0aVZGRGtDV1dVcGw4M1dVa2xVdGw0Zmc1bU51Z2dR?= =?utf-8?B?QWhydzVaWHFPZUt4RXBOZysxaWpQWnBmd3VzQldBekFEbXZLajhXZ3RmamZG?= =?utf-8?B?OXVWdUpyVFpNaDNoaEpFRS93WkxkSlE0VXR4bjZWV0Fnd3pGQTQ0NXJqNTFS?= =?utf-8?B?M3JGV2xWN05BbTN2S1A3dUNOME5YZ2JxQTM4Y1JiNkRCT2lyeVgwVTNVSTBU?= =?utf-8?B?MTg0L01wUElHUWtMNE8zaUFkKzZLNitsUDQwUXdTOVBscGR0SXhpUCtOR2dE?= =?utf-8?B?SXhPWVlVZnF0WkJoUlJXZWVLS0ZwV1ZTOTFtSnhKQU5RT2drbUF6UHZtK0Ez?= =?utf-8?B?Vjh6TDhZTHNWVFI1UDZXZmdoS0JGNXlaT29zRSsxNWZsY293ZE82S2x6NFpJ?= =?utf-8?B?VDNrSDhCQ0YyS281NDZIK09hUzlhaUYwN2tPN29PblFsUWxmOW5kWFd5czB0?= =?utf-8?B?SzcyanRrZ1RhNUFEekNKTkdPQTNwUEZOc2M3MXBpVlh3L2pxYlJYYTBic1ZM?= =?utf-8?B?NVBnQWpDNlFzUTlra25LcHhLYjFKSG5PcjFOSk9Hb2cxOWJpMFJGT0ROUjlP?= =?utf-8?B?QUJCdlRCU1hkSzRDREF0TnREVk0zb0k2TGZJNU05SW02YmsrakJwVURQV3Q3?= =?utf-8?Q?UeqT4r14ZLTl1u273DkcdYisA?= X-MS-Exchange-CrossTenant-Network-Message-Id: d3dc3539-4955-400a-3869-08db1885a909 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2023 05:44:15.2009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7khRpQvRsRpWzEcimPnTkTFMklpQkq7UQFIzFGIByiy8bV/qOZSJ8SB2A+34OTMB9eN1j3GSh8bjE0cNxJbJCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5805 X-OriginatorOrg: intel.com X-Stat-Signature: xhxpg6p6768hyyg1xts7khzjaztroc95 X-Rspam-User: X-Rspamd-Queue-Id: CF547180005 X-Rspamd-Server: rspam06 X-HE-Tag: 1677476665-466959 X-HE-Meta: U2FsdGVkX19hdQbIfJLzFg+IzXbwA/hxTO299BtIQqAqpbIyR/h6UNTIuTWKY4AL8YNAtqxkdphd3axJ4sp0Tbq3sShD7fA2PmnlAX07O/jqk15SzeYWKCaQcy0yA9ntrh5t6dPz7qI0DUBkimTFKCtU8kteydq+La3iQMBmInZi2QAU5L7+CMplmPjE/AcxnhwDhfkYswgNEx77pRgqOKflYdjXMWdQm9RJ80icVMSkPoD/cGvRfTKd8cZWe37XVt/JSyvJ1/hTREJRucFfANsOMI+7P+3ODfKZ8KLl9W9qWHp5LJJ4SoF7ZNXI4Z5QEWDL6+j4y83mECgVgLYpPmuNMpr8QiRBvOOBVfDq+Srmen7eAORY/qC8dyrpOO9iHDHkKfQFIc61Vw452mD/5KqD6Eb692j3Zhacc9d9OAqHMXy0Wo5JjPCK8rTHJC4d5Dk4irBxZU/veK5OLIVQt+dQm+fihrSE2vt/tdOlcrSpTj7hLz+0m2eEJIUcqEfHZ8JmEUZEh73cEM7bNbiIVEdOaXgSRoXj12JHyQuzjCmdltXinddN9lfSdjnuYs6Zv8zfBrcn+0ev0W/amBZuCvs5SmqHwnUQXEEiErGs1vYakf8FINcy1/qFH+uG5p2GciyRKvJegXyj5mhbHZwQlssQE45bd3nIGiOxKr3E+GBpRtZkUUVSMaQU6eMPvVXsHtwNzKvxysTdwxL/FGG60q+35wlzdcs+wcSrMwilsbwzf3vO0GDAFmz3SPEetw9wgYOG6XX5sjeLxU831MO680u3ovmW2hjI/jjEPOy03FiYLetZLjmzDb7d4uiVXomEKRXGxVToccvC4pBZi2JEkWV+A1jNlaBQaNiPuixP0C1Lw5rCRjmuOkQlJOglaU+WDPfdoPNuwJL2oeSo9uIKq/qQIidP0nKXpq8XtAPr4M/xelC7WldNGWY/O4QcbmMoIPqo0ZwLP0ciwa9ijF5 9h8brz1d TqV8eABFu6cbEDEh71WWpgIS0u+1k8kw5/OEsLIM9JvrIYPXdFWIyUDJ7wAixGI3PTo1FjvnU/EYfkVSyny8Wm64MlgNraSR0SW0v3J8EqtL25DD55xtE74YgxFFWwlMBbovmBn1mqUfKCq6BOSKEBC1/ylpAfAqtJJlALso4s424M0yx2q/bm0mB/jmkQ1Pioo2tqSCHFYCUe1UbqxhZAuFypkMNu8deM2DOqlJryM7I5aIR9HRg9epFYKdWO/q6iQp+gc/nbi0cjFXwfB6438D8nSXjxg+b1KMywU8uRE8Pc5QHtzbG9OT9BAUAbRrOb7dIGI7DyfCnB+gRJDSUQYp1vIrIqjfDkBne0ptbSPAHwpw= 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 Ira, On 2/27/2023 1:31 PM, Ira Weiny wrote: > Yin Fengwei wrote: >> zero_user_folio_segments() has same function as zero_user_segments(). >> but take folio as parameter. Update folio_zero_segments(), >> folio_zero_segment() and folio_zero_range() to use it. >> >> Signed-off-by: Yin Fengwei >> --- >> include/linux/highmem.h | 26 +++++++++++++++++--- >> mm/highmem.c | 53 +++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 76 insertions(+), 3 deletions(-) >> >> diff --git a/include/linux/highmem.h b/include/linux/highmem.h >> index b06254e76d99..0039116e416a 100644 >> --- a/include/linux/highmem.h >> +++ b/include/linux/highmem.h >> @@ -266,6 +266,8 @@ static inline void tag_clear_highpage(struct page *page) >> #ifdef CONFIG_HIGHMEM >> void zero_user_segments(struct page *page, unsigned start1, unsigned end1, >> unsigned start2, unsigned end2); >> +void zero_user_folio_segments(struct folio *folio, unsigned start1, >> + unsigned end1, unsigned start2, unsigned end2); >> #else >> static inline void zero_user_segments(struct page *page, >> unsigned start1, unsigned end1, >> @@ -286,6 +288,24 @@ static inline void zero_user_segments(struct page *page, >> for (i = 0; i < compound_nr(page); i++) >> flush_dcache_page(page + i); >> } >> + >> +static inline void zero_user_folio_segments(struct folio *folio, >> + unsigned start1, unsigned end1, >> + unsigned start2, unsigned end2) >> +{ >> + void *kaddr = kmap_local_page(&folio->page); >> + >> + BUG_ON(end1 > folio_size(folio) || end2 > folio_size(folio)); >> + >> + if (end1 > start1) >> + memset(kaddr + start1, 0, end1 - start1); >> + >> + if (end2 > start2) >> + memset(kaddr + start2, 0, end2 - start2); >> + >> + kunmap_local(kaddr); >> + flush_dcache_folio(folio); >> +} >> #endif >> >> static inline void zero_user_segment(struct page *page, >> @@ -454,7 +474,7 @@ static inline size_t memcpy_from_file_folio(char *to, struct folio *folio, >> static inline void folio_zero_segments(struct folio *folio, >> size_t start1, size_t xend1, size_t start2, size_t xend2) >> { >> - zero_user_segments(&folio->page, start1, xend1, start2, xend2); >> + zero_user_folio_segments(folio, start1, xend1, start2, xend2); >> } >> >> /** >> @@ -466,7 +486,7 @@ static inline void folio_zero_segments(struct folio *folio, >> static inline void folio_zero_segment(struct folio *folio, >> size_t start, size_t xend) >> { >> - zero_user_segments(&folio->page, start, xend, 0, 0); >> + zero_user_folio_segments(folio, start, xend, 0, 0); >> } >> >> /** >> @@ -478,7 +498,7 @@ static inline void folio_zero_segment(struct folio *folio, >> static inline void folio_zero_range(struct folio *folio, >> size_t start, size_t length) >> { >> - zero_user_segments(&folio->page, start, start + length, 0, 0); >> + zero_user_folio_segments(folio, start, start + length, 0, 0); >> } >> >> #endif /* _LINUX_HIGHMEM_H */ >> diff --git a/mm/highmem.c b/mm/highmem.c >> index db251e77f98f..e234b249208f 100644 >> --- a/mm/highmem.c >> +++ b/mm/highmem.c >> @@ -443,6 +443,59 @@ void zero_user_segments(struct page *page, unsigned start1, unsigned end1, >> BUG_ON((start1 | start2 | end1 | end2) != 0); >> } >> EXPORT_SYMBOL(zero_user_segments); >> + >> +static inline void zero_user_folio_segment(struct folio *folio, > > FWIW this does not compile: > > s/zero_user_folio_segment/zero_user_folio_segments/ Thanks for pointing this out. I got the build error report from LKP also. > > But I agree with Willy here that I don't see the point of this patch. > Seems like a lot of extra code for no benefit. Yes. Totally agree. Regards Yin, Fengwei > > Ira > > >> + unsigned start1, unsigned end1, >> + unsigned start2, unsigned end2) >> +{ >> + void *kaddr; >> + unsigned s; >> + >> + BUG_ON(end1 > folio_size(folio) || end2 > folio_size(folio)); >> + >> + if (start1 > start2) { >> + swap(start1, start2); >> + swap(end1, end2); >> + } >> + >> + if (start1 >= end1) >> + start1 = end1 = 0; >> + >> + if (start2 >= end2) >> + start2 = end2 = 0; >> + >> + start2 = max_t(unsigned, end1, start2); >> + s = start1; >> + while((start1 < end1) || (start2 < end2)) { >> + kaddr = kmap_local_folio(folio, >> + offset_in_folio(folio, PAGE_ALIGN_DOWN(s))); >> + >> + if ((end2 > start2) && (end1 >= start1)) { >> + unsigned this_end = min_t(unsigned, end2, >> + PAGE_ALIGN_DOWN(start2) + PAGE_SIZE); >> + >> + memset(kaddr + offset_in_page(start2), 0, >> + this_end - start2); >> + >> + start2 = this_end; >> + } >> + >> + if (end1 > start1) { >> + unsigned this_end = min_t(unsigned, end1, >> + PAGE_ALIGN_DOWN(start1) + PAGE_SIZE); >> + >> + memset(kaddr + offset_in_page(start1), 0, >> + this_end - start1); >> + s = start1 = this_end; >> + } else { >> + s = start2; >> + } >> + kunmap_local(kaddr); >> + } >> + >> + flush_dcache_folio(folio); >> +} >> +EXPORT_SYMBOL(zero_user_folio_segments); >> #endif /* CONFIG_HIGHMEM */ >> >> #ifdef CONFIG_KMAP_LOCAL >> -- >> 2.30.2 >> >> > >