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 3F072C52D7C for ; Mon, 12 Aug 2024 08:53:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68C106B00B5; Mon, 12 Aug 2024 04:53:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 63D956B00CA; Mon, 12 Aug 2024 04:53:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4DD3E6B00D5; Mon, 12 Aug 2024 04:53:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2F9A16B00B5 for ; Mon, 12 Aug 2024 04:53:20 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BFBB81A1C24 for ; Mon, 12 Aug 2024 08:53:19 +0000 (UTC) X-FDA: 82442979318.24.30C9A45 Received: from mail-vs1-f43.google.com (mail-vs1-f43.google.com [209.85.217.43]) by imf13.hostedemail.com (Postfix) with ESMTP id 0A04D2000F for ; Mon, 12 Aug 2024 08:53:17 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eJeP3mRu; spf=pass (imf13.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.43 as permitted sender) smtp.mailfrom=21cnbao@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=1723452728; 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=AzRg5ERg+gUSeCaNauijAePNPU4ZqgOK6zY180TKQGk=; b=5GfAVD3QnWnxTGfWe5dFgY/bLQmUlAxGQCnTpg3Ti0ofOFotZoSnvMWS7DvBh1O+AD873K wee2NRCKN1/aFO3cROk5yNZxJzQ1OrsYQCAqF/LfwvEHhUOD0I3+yxDC3mCBSeL809E3ga PoobTKvqyClAKMt4HvH/DUSUpEbtPj8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723452728; a=rsa-sha256; cv=none; b=YllyUVXWeesIA3MsHxqbrhOR/F96ATfBVwyJ0PFE9MnS/2sTEwXQQTjMUra66oiAVtsB6s hY5CmihYENQJWbVEdCle41FZUjaiJpHvQlEDJXc8RrM/wf+6MYbWc/P/MWoEpDwUQ4H7MA IIsjKoFQdIpeM+8274oF59ieZLzUG6g= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eJeP3mRu; spf=pass (imf13.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-vs1-f43.google.com with SMTP id ada2fe7eead31-492a76c0cfbso1429452137.0 for ; Mon, 12 Aug 2024 01:53:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723452797; x=1724057597; 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=AzRg5ERg+gUSeCaNauijAePNPU4ZqgOK6zY180TKQGk=; b=eJeP3mRufXgIt4jyp9SSoFGew4khXYLDRfCifCKUB4BZMVnjqNh0+uIpo9dPCVCdcp bAkWCIQsy+zgWa46K9+x5Bgd8pT2B6rFyquaxJkshwI9EXhFQQKJuapGLUtNjptIEG+B OT7Z2MT4eAYUh2L3udh7W78cJkPsups11UGyOyZSkt5AnX8L+mwOyzyLf1T34ptDkoRR RVe9dPYTmC2OFpa2sBrrsliEOQK1bSJNmexM++1MiwZx23kDWy02VVgUJiOEuHw8X4St 4qR7cL+Z7tRX5/BYURrJLrMFCYoVQ78cVUoLqEZJ039J4nkUs6d7skCLww9Ud6F3fhSM bqkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723452797; x=1724057597; 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=AzRg5ERg+gUSeCaNauijAePNPU4ZqgOK6zY180TKQGk=; b=firkA+hPZiQ97ZCkhR3fCOitkHI2+ECfH42j0asW0K2k6L+39bd+hXKD91GbJIRtzK 6xkVdlaE+cYHFi/OhGzckk1kcAEIuXB01eswJRXlheYFAjmAjiSWdmeSp/taiEUhlrO4 +fw/YKBGv4TgLSj4gmKe8CPHFrpGBPio/2/1F/uObsaC21PYoB4GfcNSOQcMXwD9qFjS ZozKjIAilPsuFZHW8yReXW4+kMUWQyIa9/797nJ4udBbLT02zNZjDA+A5zYmpau2YwuG 5gjGywDEfJZFmLc9xde7GoOSv15gjf9Ypq7UNZZoj8s0DAe8/M1EnWvrE4jHGNH1hOSc 38SQ== X-Forwarded-Encrypted: i=1; AJvYcCUrbPf8DB4rko3qqWlBlDBWAgyxgHg2Qqy3nYkoa9wMhn2kZtzp/l5ndU0x2N5cjXjzsvudn2Ecg/K5ac2BwzBcPRM= X-Gm-Message-State: AOJu0YzpcASA8jIr8CkytD/V6tzmkEsEapapnh5FtYH79cHjfQcQ/bhd kCyah83wMCI8iS54lASe7EjqzMEpm7MdHXhMW8AFEcrpI3vh1eas321hsj5zaoO3r1/aPtn++89 R9t/SY6DFc5BZawjOkAlGepK8rGU= X-Google-Smtp-Source: AGHT+IEL0rOQGs4OcfdcIr+sp0Oe8UukqY2ZAwnwQC0KY2evDuN3tG9lSXqjVtDba5yBRFbPB4x345ObihlXFhxL3cU= X-Received: by 2002:a05:6102:162b:b0:48f:df86:dba with SMTP id ada2fe7eead31-495d83d9094mr11071099137.5.1723452796989; Mon, 12 Aug 2024 01:53:16 -0700 (PDT) MIME-Version: 1.0 References: <20240726094618.401593-1-21cnbao@gmail.com> <20240802122031.117548-1-21cnbao@gmail.com> <20240802122031.117548-3-21cnbao@gmail.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Mon, 12 Aug 2024 20:53:06 +1200 Message-ID: Subject: Re: [PATCH v6 2/2] mm: support large folios swap-in for zRAM-like devices To: Christoph Hellwig Cc: akpm@linux-foundation.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, hannes@cmpxchg.org, hughd@google.com, kaleshsingh@google.com, kasong@tencent.com, linux-kernel@vger.kernel.org, mhocko@suse.com, minchan@kernel.org, nphamcs@gmail.com, ryan.roberts@arm.com, senozhatsky@chromium.org, shakeel.butt@linux.dev, shy828301@gmail.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, xiang@kernel.org, ying.huang@intel.com, yosryahmed@google.com, Chuanhua Han Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8gag5tzixbr33wkb3amehfww64h9nczb X-Rspamd-Queue-Id: 0A04D2000F X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1723452797-893140 X-HE-Meta: U2FsdGVkX1+8Db7UcUMf/eSsyJtyXCdHkQ8mnYJ9t57N8IdHUSW2VJyLtOYwsYMjoXn/v47DNRu/RQZIh7618TTMhB1HgRC2BEtgGPdrrkYJnba8KE1HSnN+Jeg4JFJpJLUswhdiMfle1VqxA6CWWWzDus1dkOCr35gcRTUqcgbdXZpXWvhQ13Zx015yhxVD3NywgPVIoP5zp28EFHrZ2Sz3gjNun7s9dtL2sBlOVyxXB8ciDzvjL2b22acUMXdhWeh1uBTgkIS6ii8t556hVtJ6dP3z5BVCNOzLxd59rvOg9oRNRoTnwO9c8QXDJyDsyyOMpQ/BysYg/c/10GaIcqmOqhlG873EBhB9qJNHCEQ6rbuavYAZUfsm9iXCYDGorljbg71woohLlJhepnaGvtm9/yTkvj8EDnln4FvntqUjJTIs5jpPwGVlhQlfabFOqL4uw7UgtuEbtmrmg2gGn++fuGkY0/c8OyvSQ9c7nxdd2tX8beAaimWqJayfPNU8P+nmPP8alY3Y4kbxddlvoCm0YO7eh97XJILRALvTJVxDk/xflxMxuGGmVVOMiSN58XljuwvNKG/wMBPQtOELJzBDg5xVl5z5ag6LR7+1dGuxGEkEVBSxRf/jawLkDmH3VzkPBIz+bK4iY33x3cIkkec5lPfL5N2hYxVRsdSPuWJX8XfanI/XscYHQf4vDf6/xEutrf9BlvydRmiFz9J93iBljNltKxJ8sgblbPQ8KK5Vb/AjEI5k4IJP1q4gGpp/P5jvhzoRxy2q4E30J4HnD5zuRRqM1jfw0213csQSZ5PaTj3JRl3+6feVWnfyF8Z1Na6s7e//EJbV60kGvNI/vW7me1vJDyoQwBR89/DwZHJyNK8o7H1mdB4JD6VAqfoNtWOwqsYKM5R9Q6l75NHGRxUAuj60moiQxuWLvpzrXSZWb5HqGP4pEtxGCT2/M7iMLtVDLOckQb/uWGRw/3o 9fEUSkFM Nuj/B4BOQHgQ8Grq7EZKJ0rEFwyhTtTU4pG9FQ+ytpHFb5zdH6KwTcymxkckVkUnsRHRJtW1J56/oz7hp61ga/fYTYopODWuRED87ChsRKRghjrTo0GSCyr8ou/yrDXn9GNB4nXT+kKHqbZqjJgQi/QnwpLlS8TItpOsd7FkfKc4Pu+7Fgx6JxuQjwQu/8YQexraDI3+oYf6+/9p2AAbrobZL+bNZsBO9Od1s28LIK0nISWGNx8bio20aIC9u96PuRed5mxacNIHJ3qHEZQMa+QORewjkjVBi3h2VSF0UkfInWpu6qGBwP2r3FBxL+HVUdiovJN1HxOAbRP95khqZDspzrKiZIny/eB31WXgLzQ9bdFp/ypJ908bZDjO0xeSs5e/2TtoBlHtX+K1rUoDvyAfDI78/Kg8AeD2O 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: List-Subscribe: List-Unsubscribe: On Mon, Aug 12, 2024 at 8:27=E2=80=AFPM Christoph Hellwig wrote: > > The subject feels wrong. Nothing particular about zram, it is all about > SWP_SYNCHRONOUS_IO, so the Subject and commit log should state that. right. This is absolutely for sync io, zram is the most typical one which is widely used in Android and embedded systems. Others could be nvdimm, brd. > > On Sat, Aug 03, 2024 at 12:20:31AM +1200, Barry Song wrote: > > From: Chuanhua Han > > > > Currently, we have mTHP features, but unfortunately, without support fo= r large > > folio swap-ins, once these large folios are swapped out, they are lost = because > > mTHP swap is a one-way process. The lack of mTHP swap-in functionality = prevents > > Please wrap your commit logs after 73 characters to make them readable. ack. > > > +/* > > + * check a range of PTEs are completely swap entries with > > + * contiguous swap offsets and the same SWAP_HAS_CACHE. > > + * ptep must be first one in the range > > + */ > > Please capitalize the first character of block comments, make them full > sentences and use up all 80 characters. ack. > > > + for (i =3D 1; i < nr_pages; i++) { > > + /* > > + * while allocating a large folio and doing swap_read_fol= io for the > > And also do not go over 80 characters for them, which renders them > really hard to read. > > > +static struct folio *alloc_swap_folio(struct vm_fault *vmf) > > +{ > > + struct vm_area_struct *vma =3D vmf->vma; > > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > > Please stub out the entire function. I assume you mean the below? #ifdef CONFIG_TRANSPARENT_HUGEPAGE static struct folio *alloc_swap_folio(struct vm_fault *vmf) { } #else static struct folio *alloc_swap_folio(struct vm_fault *vmf) { } #endif If so, this is fine to me. the only reason I am using the current pattern is that i am trying to follow the same pattern with static struct folio *alloc_anon_folio(struct vm_fault *vmf) { struct vm_area_struct *vma =3D vmf->vma; #ifdef CONFIG_TRANSPARENT_HUGEPAGE #endif ... } Likely we also want to change that one? Thanks Barry