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 C733AC3DA4A for ; Thu, 1 Aug 2024 09:59:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4EAB16B0083; Thu, 1 Aug 2024 05:59:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 49A906B0088; Thu, 1 Aug 2024 05:59:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33C9F6B0089; Thu, 1 Aug 2024 05:59:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 132C46B0083 for ; Thu, 1 Aug 2024 05:59:38 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B76ABA6E3D for ; Thu, 1 Aug 2024 09:59:37 +0000 (UTC) X-FDA: 82403229594.04.51A4936 Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by imf16.hostedemail.com (Postfix) with ESMTP id D0EC0180016 for ; Thu, 1 Aug 2024 09:59:35 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=aEYCYVtJ; spf=pass (imf16.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.169 as permitted sender) smtp.mailfrom=ryncsn@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=1722506347; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JhPaX4uQHlGFkWaiUtnGOcC0X6pKIzrGiqZomEed33c=; b=3PmHlTo7qzOVbX0OAV3VrpPUypm/8ymve6UD4ug2oeBlAkXau7HqgkLSYKhesRgYrTae/v uj51zaKDXIrfTfdkOOelFMT3z+xaMxANkvTWyJwnlNbr7qiaKOW5h6ZvXfXK89YRs2tYbC +7+G7IUDTzvHWnxKoVXoUqsh5f0B2LA= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=aEYCYVtJ; spf=pass (imf16.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.169 as permitted sender) smtp.mailfrom=ryncsn@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722506348; a=rsa-sha256; cv=none; b=7dAn/UlVZRhmEuooQuN7TxqkhyYLZItys1pjYQZkNK7B6e4SA9jZyxRqa2+1xVOAZV3JVA T+TsSjstf83s4JJrGnn+MbKgSi3059ONYhKzHfjYXrDcRXbr/O3kpGlocOpqZpSB0PFQy9 nnBqkVq4kTc+TRjUvLSAZPS7RX8IM00= Received: by mail-lj1-f169.google.com with SMTP id 38308e7fff4ca-2f032cb782dso72560101fa.3 for ; Thu, 01 Aug 2024 02:59:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722506374; x=1723111174; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=JhPaX4uQHlGFkWaiUtnGOcC0X6pKIzrGiqZomEed33c=; b=aEYCYVtJxFAG7NMEFLAGKi49daNx0QQ9H/SA7Y4ieXFHVc+jHnFbvLQwNuggppoBgW ZYUooL3gnzYh5bXB7E5YIJLwgWZp/YsodwcBoziuoVqleM3f47cyOgb9QK8LSheAdha7 TZk9wtpsE1HU0ntbPbXlbiiMJbwh57laT3hCsZWM9oyZQ68Dyy/aDi8eRBWO0Sv4ghIW xVH1PKjpLEL2rigRNbAmcHLeLMWzJm5yXYh9rJ9rG7Oob+Cvz8NzFOEU4xYGVXVf7Zjc +aJ5I3x9pJMuwjxRE/dbqFAV3g5ubvNvsgNI1J8f4RNs6rJX3I7r236Gsz/4jZekn7sK 3kzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722506374; x=1723111174; h=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=JhPaX4uQHlGFkWaiUtnGOcC0X6pKIzrGiqZomEed33c=; b=GrNptvkA/ElZwVA2L6g2K6oxmtRdUY50jUqOGbAsyzyF4m0O/CcmQwkmRkp6T5o8xV PflPohm7mf40LcTomgCmJ2ax3eUsdDBK2pazjZNNquJyXeLZ8Mi+4h4cj567+/vxpK7P +WSksE3mLe4Bkm4QmvRJRrZLyExa0UbAcrzPi1xQutvduMF9TP91lHaKhzLPFOnpXNPH odhPpIWsqNybVg5442qmG0LQbvJbs0Sz9Re5bdp6a+phcsJPgxjx70xo6VC8xKqE2swF okfYt3Pr8zMPw2E/Im3wcnPfXQdgvL91Loz7pDcmmY8nvW852drxUeMSwiLtHYmiDu6T EPmQ== X-Forwarded-Encrypted: i=1; AJvYcCUEDcQmRA03p1rkK8vlIw4klP779K9Na9kI0W0PmUjY4GwBF+u7mACs8CBN+aKziAcq+3IB2HcerX9mTYftHhBS0JA= X-Gm-Message-State: AOJu0Yz+4IFUA+iRvnpD6CQnaC/fnnIPlc7p1qqwon0i4Cn/EXOjlTKo HmZv4vyA08ebMiZwcIDX+7c7mXIL6nrRK0RupsktBnkA/77ffZnMV3ajme8reIzgdsn7Znp6mqF XeANdC5lHzVn0+hEtJ37sfP+buds= X-Google-Smtp-Source: AGHT+IEYbhLmlgPNsBZiRfulMt53YeMgAayYYZMsMJZajNJxW2BIjyfYaJW5JeZSAZ8hGT4xsTafvZvHcgW2Xiy3lRI= X-Received: by 2002:a2e:bc13:0:b0:2f0:1f06:2b43 with SMTP id 38308e7fff4ca-2f1532a01ebmr19019201fa.41.1722506373699; Thu, 01 Aug 2024 02:59:33 -0700 (PDT) MIME-Version: 1.0 References: <20240730-swap-allocator-v5-0-cb9c148b9297@kernel.org> <3c79021a-e9a0-4669-a4e7-7060edf12d58@redhat.com> In-Reply-To: <3c79021a-e9a0-4669-a4e7-7060edf12d58@redhat.com> From: Kairui Song Date: Thu, 1 Aug 2024 17:59:17 +0800 Message-ID: Subject: Re: [PATCH v5 0/9] mm: swap: mTHP swap allocator base on swap cluster order To: David Hildenbrand , Andrew Morton , Chris Li Cc: Hugh Dickins , Ryan Roberts , "Huang, Ying" , Kalesh Singh , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Barry Song Content-Type: multipart/mixed; boundary="00000000000087396d061e9c4455" X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: D0EC0180016 X-Stat-Signature: szfx34483g1k9iwkf9fk1gdpk1w6ndqf X-HE-Tag: 1722506375-898266 X-HE-Meta: U2FsdGVkX19HkST+nIQCCVLMMgbN3q8bQ5sJE/5DGX5MccInlx/Xd4Qwaxf9JC/wGQiidfKZkhxE+Ja73KYxFSaAZLsFwVbS6QgYPtiDvddbjR8NiGt2TRZijxkuF8jMHumAq/Q4LUzlyPWrBRsMioTbs6Td2M8kYgMgrVpWY4qoweUHO6tWYzPeYfAoV1hhCjM6ZTs1/7TNah3aUhh/F8e888yFAmaqEeTDDtIL3VvYt/DwrjsojnNY1hzHh7LrD6CzHoTAoaN/nRc/DCdyXPjWqSFLPAXTD+oybaBHpMSYCnYWReVzMDWXc5oe7Uyuw711mQIwApaaaZIb02npIdNfLe1Q8QhU+sn84vz/mP4IpPKl5pOR/iTcHjc+RIFTOMh13wG0DW7QplymKyvhTQ4++npttiYX6MfAVQAYXAb2WTDE8jGGo3aANt8u2I4lUv5qv1/RZb5XijogerZZ7Y+i4n1+zUMI5mJ4SD3Ugtz8LoPCilvSJM10/rurtomBWwzDpPgONwJZg6YtO2+CsU/sO+N6nB80m70EzwT2uSIMaAUa7j93WMgynMK5V+XN6dFnnl5eNNMqCrfsHld8OoFz2HR9TMBBqZyvKupiBnKTtStagLo5xEUaUslgXDTFL6N6DVqV6U+oyHVgFKJ1InxeXe0In1SmMpCEdcjpxR5+BCfjnvINWiLimCcgdBKcqzzP2Ej2gxXAh/U3fZ5hyhwhNdQbB3qyhUTA3orlIgfoKpy0vooarCGOSgsQTHtN8ZGG13aXXMYzzM5PYAwUpzmZ+7C51da+7nueFN2m2DWZxA0fdgqrQur8Cyem8bb2nhNnXmskFH7MC1bBsAW/jDEvWjA6cOh8Y9B/4RiwNzJx06rHfro7o7ue9ybsC9G7TycI1lewLO9CnS9BbXxApCIJkKueZLTsUcPRKhTov3Rj5mVnlkbiz1KdjYk/ISPfA/JyRQhkJzdiM/9M/nJ 8dCbHGtd F54aUfEAP2Jf2Yjc1MfpzH+qkXedo2R7NcVxjVehinWfJh85QV5d97p5S6VkVcDcgluBlZ51LAkOO/ChxkNFCDBBVjmBZOOYuptNtaVCbXCpRZ4PZpj8EoAbA/IFOGplkmPffT1sUOatPCuPf5pFrP+BVBr3nePyOHmDlV6upmnyvx2UTSXgT/qX2f75AEnJz/C7whz1q0EsEOBqJQ/aFIcT2Gl+gU/ppXQzDE27xeDy5IlBDBYeC/RBCviCg7NNtK3LIJi/WR6ppWPxhLwIGETThuDg5WDRPTYssPUrVlrCt51iRXYQst7MgZ63qZspEsx4Oc9fsZboDKV9UFfzH2WjW3MSXYT2RbYc7nGPAb3h6bfmiCTfNpMU4tByUW6m33NNlxzIzhuSyToku+WaBx1dvEmVqy2waBkVql3FP4V5lKLCc5/bzVuWze20hP8r4wJyvb2wUgyXYhdDFKDh3XoYQ5EmK5LlynOeTFQ9vtE3VtwuZ+90X373C1B1Sb/p8KyJh9qFIvPoB0hbPmHahQ3JTxw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000538, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --00000000000087396d061e9c4455 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Aug 1, 2024 at 5:15=E2=80=AFPM David Hildenbrand = wrote: > > On 31.07.24 08:49, Chris Li wrote: > > This is the short term solutions "swap cluster order" listed > > in my "Swap Abstraction" discussion slice 8 in the recent > > LSF/MM conference. > > > > Running the cow.c selftest on mm/mm-unstable, I get: Hi David, thanks very much for the test and report! > > # [RUN] Basic COW after fork() with mprotect() optimization ... with swap= ped-out, PTE-mapped THP (1024 kB) > [ 51.865309] Oops: general protection fault, probably for non-canonical= address 0xdead000000000108: 0000 [#1] PREEMPT SMP NOPTI > [ 51.867738] CPU: 21 UID: 0 PID: 282 Comm: kworker/21:1 Not tainted 6.1= 1.0-rc1+ #11 > [ 51.869566] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1= .16.3-2.fc40 04/01/2014 > [ 51.871298] Workqueue: events swap_discard_work > [ 51.872211] RIP: 0010:__free_cluster+0x27/0x90 > [ 51.873101] Code: 90 90 90 0f 1f 44 00 00 8b 0d 8d 95 96 01 55 48 89 f= d 53 48 89 f3 85 c9 75 3a 48 8b 43 50 48 8b 4b 48 48 8d 53 48 48 83 c5 60 <= 48> 89 41 08 48 89 08 48 8b 45 08 48 89 55 08 48 89 43 50 48 89 6b > [ 51.876720] RSP: 0018:ffffa3dcc0aafdc8 EFLAGS: 00010286 > [ 51.877752] RAX: dead000000000122 RBX: ffff8e7ed9686e00 RCX: dead00000= 0000100 > [ 51.879186] RDX: ffff8e7ed9686e48 RSI: ffff8e7ed9686e18 RDI: ffff8e7ec= 37831c0 > [ 51.880577] RBP: ffff8e7ec5d10860 R08: 0000000000000001 R09: 000000000= 0000028 > [ 51.881972] R10: 0000000000000200 R11: 00000000000004cb R12: ffff8e7ed= 9686e00 > [ 51.883393] R13: 0000000000028200 R14: 0000000000028000 R15: 000000000= 0000000 > [ 51.884827] FS: 0000000000000000(0000) GS:ffff8e822f480000(0000) knlG= S:0000000000000000 > [ 51.886412] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 51.887532] CR2: 00007f37d7e17840 CR3: 0000000335a3a001 CR4: 000000000= 0770ef0 > [ 51.888931] PKRU: 55555554 > [ 51.889471] Call Trace: > [ 51.889964] > [ 51.890391] ? __die_body.cold+0x19/0x27 > [ 51.891174] ? die_addr+0x3c/0x60 > [ 51.891824] ? exc_general_protection+0x14f/0x430 > [ 51.892754] ? asm_exc_general_protection+0x26/0x30 > [ 51.893717] ? __free_cluster+0x27/0x90 > [ 51.894483] ? __free_cluster+0x7e/0x90 > [ 51.895245] swap_do_scheduled_discard+0x142/0x1b0 > [ 51.896189] swap_discard_work+0x26/0x30 > [ 51.896958] process_one_work+0x211/0x5a0 > [ 51.897750] ? srso_alias_return_thunk+0x5/0xfbef5 > [ 51.898693] worker_thread+0x1c9/0x3c0 > [ 51.899438] ? __pfx_worker_thread+0x10/0x10 > [ 51.900287] kthread+0xe3/0x110 > [ 51.900913] ? __pfx_kthread+0x10/0x10 > [ 51.901656] ret_from_fork+0x34/0x50 > [ 51.902377] ? __pfx_kthread+0x10/0x10 > [ 51.903114] ret_from_fork_asm+0x1a/0x30 > [ 51.903896] > > > Maybe related to this series? Right, I can reproduce your problem and I believe this patch can fix it, see the attachment. Hi Andrew, can you pick this patch too? --00000000000087396d061e9c4455 Content-Type: application/octet-stream; name="0001-SQUASH-Fix-discard-of-full-cluster.patch" Content-Disposition: attachment; filename="0001-SQUASH-Fix-discard-of-full-cluster.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzb32f6k0 RnJvbSAzMTM2NWY4ZDhmYTVkN2EzMDkyMDE2NmI4YzNhNjAxMzBjMjQ0MTJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLYWlydWkgU29uZyA8a2Fzb25nQHRlbmNlbnQuY29tPgpEYXRl OiBUaHUsIDEgQXVnIDIwMjQgMTc6Mjk6NDggKzA4MDAKU3ViamVjdDogW1BBVENIXSBTUVVBU0g6 IEZpeCBkaXNjYXJkIG9mIGZ1bGwgY2x1c3RlcgoKU2lnbmVkLW9mZi1ieTogS2FpcnVpIFNvbmcg PGthc29uZ0B0ZW5jZW50LmNvbT4KLS0tCiBpbmNsdWRlL2xpbnV4L3N3YXAuaCB8IDEgKwogbW0v c3dhcGZpbGUuYyAgICAgICAgfCA4ICsrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3N3YXAu aCBiL2luY2x1ZGUvbGludXgvc3dhcC5oCmluZGV4IDE0NWU3OTZkYWI4NC4uMzU0M2ZmYWY5ODJl IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3N3YXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L3N3 YXAuaApAQCAtMjYwLDYgKzI2MCw3IEBAIHN0cnVjdCBzd2FwX2NsdXN0ZXJfaW5mbyB7CiAjZGVm aW5lIENMVVNURVJfRkxBR19GUkVFIDEgLyogVGhpcyBjbHVzdGVyIGlzIGZyZWUgKi8KICNkZWZp bmUgQ0xVU1RFUl9GTEFHX05PTkZVTEwgMiAvKiBUaGlzIGNsdXN0ZXIgaXMgb24gbm9uZnVsbCBs aXN0ICovCiAjZGVmaW5lIENMVVNURVJfRkxBR19GUkFHIDQgLyogVGhpcyBjbHVzdGVyIGlzIG9u IG5vbmZ1bGwgbGlzdCAqLworI2RlZmluZSBDTFVTVEVSX0ZMQUdfRlVMTCA4IC8qIFRoaXMgY2x1 c3RlciBpcyBvbiBmdWxsIGxpc3QgKi8KIAogLyoKICAqIFRoZSBmaXJzdCBwYWdlIGluIHRoZSBz d2FwIGZpbGUgaXMgdGhlIHN3YXAgaGVhZGVyLCB3aGljaCBpcyBhbHdheXMgbWFya2VkCmRpZmYg LS1naXQgYS9tbS9zd2FwZmlsZS5jIGIvbW0vc3dhcGZpbGUuYwppbmRleCA5ODcyZTBkYmZjNzIu LjVhYjA2YTQ1NTY1YSAxMDA2NDQKLS0tIGEvbW0vc3dhcGZpbGUuYworKysgYi9tbS9zd2FwZmls ZS5jCkBAIC00NTAsNyArNDUwLDEwIEBAIHN0YXRpYyB2b2lkIF9fZnJlZV9jbHVzdGVyKHN0cnVj dCBzd2FwX2luZm9fc3RydWN0ICpzaSwgc3RydWN0IHN3YXBfY2x1c3Rlcl9pbmZvCiAJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmc2ktPmxvY2spOwogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmNpLT5sb2Nr KTsKIAotCWxpc3RfbW92ZV90YWlsKCZjaS0+bGlzdCwgJnNpLT5mcmVlX2NsdXN0ZXJzKTsKKwlp ZiAoY2ktPmZsYWdzKQorCQlsaXN0X21vdmVfdGFpbCgmY2ktPmxpc3QsICZzaS0+ZnJlZV9jbHVz dGVycyk7CisJZWxzZQorCQlsaXN0X2FkZF90YWlsKCZjaS0+bGlzdCwgJnNpLT5mcmVlX2NsdXN0 ZXJzKTsKIAljaS0+ZmxhZ3MgPSBDTFVTVEVSX0ZMQUdfRlJFRTsKIAljaS0+b3JkZXIgPSAwOwog fQpAQCAtNDc0LDcgKzQ3Nyw2IEBAIHN0YXRpYyB2b2lkIHN3YXBfZG9fc2NoZWR1bGVkX2Rpc2Nh cmQoc3RydWN0IHN3YXBfaW5mb19zdHJ1Y3QgKnNpKQogCQkJCVNXQVBGSUxFX0NMVVNURVIpOwog CiAJCXNwaW5fbG9jaygmc2ktPmxvY2spOwotCiAJCXNwaW5fbG9jaygmY2ktPmxvY2spOwogCQlf X2ZyZWVfY2x1c3RlcihzaSwgY2kpOwogCQltZW1zZXQoc2ktPnN3YXBfbWFwICsgaWR4ICogU1dB UEZJTEVfQ0xVU1RFUiwKQEAgLTY2Niw3ICs2NjgsNyBAQCBzdGF0aWMgdm9pZCBjbHVzdGVyX2Fs bG9jX3JhbmdlKHN0cnVjdCBzd2FwX2luZm9fc3RydWN0ICpzaSwgc3RydWN0IHN3YXBfY2x1c3Rl cgogCQlpZiAoY2ktPmZsYWdzICYgQ0xVU1RFUl9GTEFHX0ZSQUcpCiAJCQlzaS0+ZnJhZ19jbHVz dGVyX25yW2NpLT5vcmRlcl0tLTsKIAkJbGlzdF9tb3ZlX3RhaWwoJmNpLT5saXN0LCAmc2ktPmZ1 bGxfY2x1c3RlcnMpOwotCQljaS0+ZmxhZ3MgPSAwOworCQljaS0+ZmxhZ3MgPSBDTFVTVEVSX0ZM QUdfRlVMTDsKIAl9CiB9CiAKLS0gCjIuNDUuMgoK --00000000000087396d061e9c4455--