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 1B2EEC3DA4A for ; Fri, 16 Aug 2024 05:12:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A241B8D0041; Fri, 16 Aug 2024 01:12:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9D3B58D002B; Fri, 16 Aug 2024 01:12:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8C3828D0041; Fri, 16 Aug 2024 01:12:47 -0400 (EDT) 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 6DCBE8D002B for ; Fri, 16 Aug 2024 01:12:47 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E174AA18AF for ; Fri, 16 Aug 2024 05:12:46 +0000 (UTC) X-FDA: 82456938732.22.0196EDF Received: from out30-124.freemail.mail.aliyun.com (out30-124.freemail.mail.aliyun.com [115.124.30.124]) by imf29.hostedemail.com (Postfix) with ESMTP id A7C9B12000B for ; Fri, 16 Aug 2024 05:12:43 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=mP0a29rt; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf29.hostedemail.com: domain of hsiangkao@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=hsiangkao@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723785111; a=rsa-sha256; cv=none; b=BfnGQD0i6alxRINPZbko0/l4n5bhOIfgdDljJ8wG06vEoiHVjx3rX4jJvzmIxFPsMeS+De rpLcUguZYjwGbgZoMXGM/XblBA+50hfGNT9HooSHvb5b5+6h2aJZLWGOFPJcBlThXv9KN2 GbxESn6TufxNezzr6EfdARM3Y2fV2t0= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=mP0a29rt; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf29.hostedemail.com: domain of hsiangkao@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=hsiangkao@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723785111; 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=SzPJYmstJwhog2+5yusTke5RmDuBUbggjzQg63D68/s=; b=191d1/iabD7L4KC5Z7L5H+1PTtsZ2kenIDuFOluMb4+VsnsRnFZX9Bo+lloF3Nis6xPSC2 FdZ3Ysds2WQ7xKW/AbLZBGUxd4apCMfUf8xqpVzJP/ERAWbr7thXApboSNlR+cPqZAhk2v 24FCMe7TKXyBPQtDucWYhDNnYEjpIGY= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1723785158; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=SzPJYmstJwhog2+5yusTke5RmDuBUbggjzQg63D68/s=; b=mP0a29rt0eCCuLxxv7FXEdNcy2M34eDKp6P1sLU1cjcx7+MOSbZDrX6UoB54TCZRQdRC5KG4DCNkFavogkm/WlzpH/NkAUvy2IWB+Y1KkIq1+Tf80Au+WLcg8XFQgYKherOQYWO/B149yW6sLHDyyylmi0wxCROfhKeDXyva3ds= Received: from 30.221.129.229(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0WCzH9pD_1723785156) by smtp.aliyun-inc.com; Fri, 16 Aug 2024 13:12:37 +0800 Message-ID: Date: Fri, 16 Aug 2024 13:12:35 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/migrate: fix deadlock in migrate_pages_batch() on large folios To: Andrew Morton Cc: "Huang, Ying" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Gao Xiang References: <20240728154913.4023977-1-hsiangkao@linux.alibaba.com> <87plqx0yh2.fsf@yhuang6-desk2.ccr.corp.intel.com> <20240815220224.d7970835d5c12b4833bd04dc@linux-foundation.org> From: Gao Xiang In-Reply-To: <20240815220224.d7970835d5c12b4833bd04dc@linux-foundation.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A7C9B12000B X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: gdnzncd5tjp5srwbg7bomrmkeqmhco6n X-HE-Tag: 1723785163-939294 X-HE-Meta: U2FsdGVkX19eaaB4Qxm04MgPFNO1xuh6Tp+cJB5FxKMQdRWzx1L+IqniPO669K1n48Osmqg+8PSoGKAdIip7Zpfno1MI5KqGtHyu97YvwNGK1jw69yDVDcpF3CRxGg5jOyzRLWGkxz0JP5rof6M9aRCjeSirVxQ9Wki7NWS78utU9Yy6ocCbBnrLbWcQ16m0fqOXym8OR37KCMgp6eeLqwhaFrj9BpJZGXuLg2Z/LOeDmPrjy4p017eRKmoS1YdWnlzgeyG6Qe6UoziY1QLUQkf8jbFwMPvUcecOzHnmhUhABAsSzuJT6thDCG2QVBo87SYo9H/mZjZGabVsM/rptaAA3whUM8h8TNMi/0WOQqfHPrHCIN/ybiEti70ZoTQ9mdRFW+X8N+VXienVsOXfxXafQ+ZP+LidYqmVLzdYZuq+0txta0grNJqxUuid1j8xJF037mlYi04h3fjGC9a+O3VQheDBcuZlZ+M1aTDmWba+4of2OZFasAWqAvSur9O2K2q7yc2dOj0CNDf5d+4kYEaTBgxs/IwxbESmjEuFDM79zhGASp+u5U56zitTOBLnBbFGlPmseovACBz3Y4WcudWM2ghzWgjqCcUIfcOZlsQrGblF0ffESTqEXlkA2MHbZW/0oIEgmNoQXLorVxss/6WXI5XLuumuVGVrdOuwAXFHGJdnWWYSHf3pIfy7ZevT2N1PRCjwPg2StShjZED2QRaOcKWuAptaunXAJ9QdYhwOaGglqRCtHuqIXyjHwmY//zSg0WiDIuVtNV5vsiX4GKgxLYXkASjQQKhilZ5KmRGa1RbBmQz0OxrJjmO0Gtz0wuf6AGO4lXtn2Q8pvyqo+yXrbIiqiu+40x/LZkLY1IRcMsmaYdXqdYAWJS2NjPblkWuR4ktlE4DwkUWQ82UNViD7ld14447x6OZ9JkHcxPjmkec4s2gElPBuLqFK8yhVxb7PvIO6ku5RpbQyp3R 6914VIG9 dBIpqOl/197sthpUZ6PdZUF3S+SRPI27XPe3OInsE9ysoQl3N+W+O+i8CWWvN5lHK+LoQPAcIN82u0SpTzPRLYc+pDg4Lv22txum6/9zrm8Rq4dANt9TaKyTMEdSxWvtdK7IjDzsp95ZmWBg1RmsscWT6K2sxijL9Vp2QsySl0cTHI8VoggN5yj9BVpJ4koYdm+B92eVtCrsIKi2CRdH0wJaIoBLO50n0cslO56DYxfELm9JW1LLiiFEk1jhhQh7i7OLNpPi5ETx17TK1qu8eV6SCcmYTHu+5tpaMEIegqsN0hbGt6Ly42rIOfHkG4S7lcYCrsNyozVjlZudYKSDvXB/pvdQ1EOCY+lyt 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: Hi Andrew, On 2024/8/16 13:02, Andrew Morton wrote: > On Mon, 29 Jul 2024 09:58:02 +0800 Gao Xiang wrote: > >>> For the fix, I think that we should still respect migrate_mode because >>> users may prefer migration success over blocking. >>> >>> @@ -1492,11 +1492,17 @@ static int unmap_and_move_huge_page(new_folio_t get_new_folio, >>> return rc; >>> } >>> >>> -static inline int try_split_folio(struct folio *folio, struct list_head *split_folios) >>> +static inline int try_split_folio(struct folio *folio, struct list_head *split_folios, >>> + enum migrate_mode mode) >>> { >>> int rc; >>> >>> - folio_lock(folio); >>> + if (mode == MIGRATE_ASYNC) { >>> + if (!folio_trylock(folio)) >>> + return -EAGAIN; >>> + } else { >>> + folio_lock(folio); >>> + } >>> rc = split_folio_to_list(folio, split_folios); >>> folio_unlock(folio); >>> if (!rc) >> >> Okay, yeah it looks better since it seems I missed the fallback >> part in migrate_pages_sync(). >> >> Let me send the next version to follow your advice, thanks. > > The author seems to have disappeared. Should we merge this as-is or > does someone want to take a look at developing a v2? I've replied your email last week, I'm not sure why it has not been addressed? https://lore.kernel.org/linux-mm/20240729021306.398286-1-hsiangkao@linux.alibaba.com/ The patch in your queue is already v2? No? Thanks, Gao Xiang