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 D3245C27C4F for ; Sun, 30 Jun 2024 14:36:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3559E6B008C; Sun, 30 Jun 2024 10:36:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 305936B0095; Sun, 30 Jun 2024 10:36:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1CDBC6B0096; Sun, 30 Jun 2024 10:36:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id F17AD6B008C for ; Sun, 30 Jun 2024 10:36:03 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 978B2141531 for ; Sun, 30 Jun 2024 14:36:03 +0000 (UTC) X-FDA: 82287804606.28.8ACFC23 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by imf03.hostedemail.com (Postfix) with ESMTP id C9AAC20020 for ; Sun, 30 Jun 2024 14:36:01 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Qtk3gVnN; spf=pass (imf03.hostedemail.com: domain of alexander.duyck@gmail.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=alexander.duyck@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719758151; a=rsa-sha256; cv=none; b=B+8r7fJqblmdMZrc2m7hgCjkb/12pVwhRnihUdCTX1PNK9zDSVpMPiRgERqUN74fwxFT2h hmoqdiHH8TKCDF8fj/xsXRNkichnRokBhB2eOeV2BthFBWxj6uYdrf2+mCRY5Ip73bUQct OCojBQ9OQS/HFDFcq7IRCP0Wh/nixOU= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Qtk3gVnN; spf=pass (imf03.hostedemail.com: domain of alexander.duyck@gmail.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=alexander.duyck@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719758151; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=p1DN8jlbP1vACh8RBgUWJCiqVQO/jYx/h6RZpi7IXz4=; b=sbfP3lvtgGGqbzddNUOKhM29wzCYMPKbXBbdxqEBM80AP7L7u9y9GA7bij6lem9TXsCgev WFV+SF1ebXMzthnBxqjneNX8JtfDMEa0X8Rxxt8BWD5Mt7UGDSprXEIYQP+O/jZvSY85Fa +p2Ft+tDd6sQ4UFzX9ygtNTe+WhGPyM= Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-42561c16ffeso16997905e9.3 for ; Sun, 30 Jun 2024 07:36:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719758160; x=1720362960; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=p1DN8jlbP1vACh8RBgUWJCiqVQO/jYx/h6RZpi7IXz4=; b=Qtk3gVnNgbZTM13dHNzDiq2jNtUjYL7fbC8E7T4rtKbjeE8/lD6jIy37Fla32Rrbfm 0UFeoVKQ0xoyadywIrRZGi88jjMOP39QV0i4U3qVyhKhQpxt/ejjQ54yX9ypWCCehe3j 3OIdQ7c9ltnZeeG+eyzQODPhKrh2K1AoJEw9YqUJsu7No135qFTSj9MxJhYXfwzxenIH TUPgXVl5WZzC1KnHTSZ9NGVXIgfapCG47B0BkPpByc0QTJGjwADgHoYHj593bKM4Dqq+ qPrcRkcArAxcdxas9US3Er4RjHrIy9xHIe3BR1RYLagBR55v1lq5djGL2qx/Jdtv+3pl D7DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719758160; x=1720362960; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p1DN8jlbP1vACh8RBgUWJCiqVQO/jYx/h6RZpi7IXz4=; b=rd15nkfow/kbfpPP69ayRMy+wMznD/gGuy513ZRkDV2hVwHXRYcm/2Zdb32O3/23VL cCUTL+D/1OyUGdvvT1OK5S6Ed0gdQdSZeJzBEynHr7fVP/3iKTcNZ1ICjcBKs7f6TPYe X7qMaGhdYJOUCQIhLRmDWmapucPErqK/EX9Tb/UyeYC4j2ibTP/mNzMEZwQgSQklw/a+ 2VNtihGazel9SIA+4usEoro3kf9cq/iTyppxlcbfn7beIp33Oh5376+NcN2eHf6ZFlOR dILmhpr8BtvW6k3K+3wed5h0iw94r61qM7zKzK3FJKb6OYsk716M28c1iZmo5VQid9la ASoA== X-Forwarded-Encrypted: i=1; AJvYcCXFm7QcUqwqtzhXOk/bxZf9QQrMb5DpEsn1Ay6VwhE4cmCoRBm66TCXValHZCfDP95mthlXfbA/SsZyOPzZOivNz4w= X-Gm-Message-State: AOJu0YyOjUFqJgqBOMlvo8WPBW8whE3jij+HdScqd2j3qb153gvZyB75 YnGrpQixuZVTIr+5DdTHJful8jdueFo8f9MRIysT8DdiZB1AaT2no0P4bKhDycERbwxoilhYVxw Sr0sZevkbjEQHHS6gpMd0uey/zEM= X-Google-Smtp-Source: AGHT+IHuLnsVtF4Eujtfd6nFrbG9XwDKQHepKIjbjPsPcV+qMlRM18PfqxFJyjmM8ankdGzJGvPcHb9ND6DrjV7gmZM= X-Received: by 2002:a5d:5f54:0:b0:367:4b4f:15f6 with SMTP id ffacd0b85a97d-367756996cdmr2780395f8f.11.1719758160122; Sun, 30 Jun 2024 07:36:00 -0700 (PDT) MIME-Version: 1.0 References: <20240625135216.47007-1-linyunsheng@huawei.com> <20240625135216.47007-11-linyunsheng@huawei.com> <33c3c7fc00d2385e741dc6c9be0eade26c30bd12.camel@gmail.com> <38da183b-92ba-ce9d-5472-def199854563@huawei.com> <0a80e362-1eb7-40b0-b1b9-07ec5a6506ea@gmail.com> In-Reply-To: <0a80e362-1eb7-40b0-b1b9-07ec5a6506ea@gmail.com> From: Alexander Duyck Date: Sun, 30 Jun 2024 07:35:23 -0700 Message-ID: Subject: Re: [PATCH net-next v9 10/13] mm: page_frag: introduce prepare/probe/commit API To: Yunsheng Lin Cc: Yunsheng Lin , davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Morton , linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: uq9wnmajerixb7ywk57zbj1fyyzy3utp X-Rspamd-Queue-Id: C9AAC20020 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1719758161-134294 X-HE-Meta: U2FsdGVkX19RNMkV2NHBO4LExaA0QzRA1nb9qx6mEQz8njuG01/+Uu1MtNwvbQar5EV3J+ih0hmPUd/LUdioLVvHsS1/Ia36RjnaR2Xsq2WBtpXAGvzQLAU/VYMBqsTm4bW2PzRu7PUso874I3CGWLUnB1MqBVzAuL1+pqHM5eLcOV7rAxlIzGYZp0jeZ2G19uMClXMKnngx62TxTwgGYSCJ89rpglQgbRvh/WXhNCphTY5HUSBvVoM7iqSCowQcPh8Y+qG7T/9zXExcAp954IhpBaf54AqBUdAFq2g6g845fBd81Z2YDE79t24vhn5pnnhAHXuJPbkfc3kSnI5qikuEa/l4pzluJKW/6XkMSb7TxG+LOVY9vR+szbK3jLRre8ofm4grV8hL/alclYqTqEWCJ51122AEx6e7wHulritoO0uIjckAUqEyDIIXHpkqBJ/4LtRwm0Gyuyubu1GtzNKhXHOpKrU8ivOlCeg7mcum+0pP2XYw2HWcY7/ZcOcCEvB+tMD4+30BMPlTvYQ/IW1g7XOa+bLF8PSb+OCAl+ZfxEPB/WYW+dcvDwDAe2N2MJfuva/n1jxjc7Vd3w3JLg1gYS5ADEKRbdjM7+UiMitjjsDOJtbTDs8nvSOO++EHaaJFQzO7LUJWJaoliypWsvU9tKiKxK3sGVrWGBxLcIvKvZT5JalfKh6/qx3Vxf1VvHrbZVj8jttdc1vyAqt/rWq+k1ydkcgDXTWfkO6BREf+xNDoWkyxyEB3x6ktkod1DMEELdGKirM8Ng0nKe5h3T4XF3G66+ONwhmzWN2FxsRNfhkrjLI/QFYE8ECW78qRWkquLKhREZg6rdmOqnOsg2YbVP9qDZEU6/QJnGs09NfwSd2R5aTY9A2VOOJ1bB9nSzRUqnYcniPCKvCe2gG3lAnwOywJGY17ofOUsM76bkMfOdQXs4lzAkLimB82qb1bAylIgAThaDr5ZkSKnLU A5gtg+M4 kGOFx+2pIWNFb+KZtbCfb8+V3XbL9oNMDssZ6nR3x3GNsVScSUl/e0EpT0w9Q+QEdFTuC50ucHj86KnH7Liig0IwYmCmTlnkub4yrzJL2knLjQEIqFo3+alPDOwrl4ReZiFs9/iLTkoGcyQAWGq1lkHQqcbftVdAgSp9rSIFnTvcQok+8Itwqzkc0GeBNx3NUE9Y4sHHUTcRuyKGKj0DwCgyBUPkkZ4sjtqiz1qsXmXQ8zO7N82zfJ4O6LvcFMvV3UuEYC3lo7OL55HH4qDK4IW8C5gkAbxqu/4HpZj/4Cc0qOv3segM3l+Nb3AbqlVgX2Y8xMixodFBbON3+fpB/4KNPLWGGXdZgccCYjF4jvCUrM3lCWyiKWXmD1jWX0hZFc9cUp9gtAnQnliRPf4YyH2y+QIKPbJiLIaKT X-Bogosity: Ham, tests=bogofilter, spamicity=0.000049, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sun, Jun 30, 2024 at 7:05=E2=80=AFAM Yunsheng Lin wrote: > > On 6/30/2024 1:37 AM, Alexander Duyck wrote: > > On Sat, Jun 29, 2024 at 4:15=E2=80=AFAM Yunsheng Lin wrote: > > ... > > >>> > >>> Why is this a macro instead of just being an inline? Are you trying t= o > >>> avoid having to include a header due to the virt_to_page? > >> > >> Yes, you are right. ... > > I am pretty sure you just need to add: > > #include > > I am supposing you mean adding the above to page_frag_cache.h, right? > > It seems thing is more complicated for SPARSEMEM_VMEMMAP case, as it > needs the declaration of 'vmemmap'(some arch defines it as a pointer > variable while some arch defines it as a macro) and the definition of > 'struct page' for '(vmemmap + (pfn))' operation. > > Adding below for 'vmemmap' and 'struct page' seems to have some compiler > error caused by interdependence between linux/mm_types.h and asm/pgtable.= h: > #include > #include > Maybe you should just include linux/mm.h as that should have all the necessary includes to handle these cases. In any case though it doesn't make any sense to have a define in one include that expects the user to then figure out what other headers to include in order to make the define work they should be included in the header itself to avoid any sort of weird dependencies.