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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65BDFC433E2 for ; Mon, 7 Sep 2020 11:33:25 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C33F4207C3 for ; Mon, 7 Sep 2020 11:33:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=shutemov-name.20150623.gappssmtp.com header.i=@shutemov-name.20150623.gappssmtp.com header.b="mO1cN1q2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C33F4207C3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 0916D6B0003; Mon, 7 Sep 2020 07:33:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 041656B0037; Mon, 7 Sep 2020 07:33:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E72E56B0055; Mon, 7 Sep 2020 07:33:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0131.hostedemail.com [216.40.44.131]) by kanga.kvack.org (Postfix) with ESMTP id D16D86B0003 for ; Mon, 7 Sep 2020 07:33:23 -0400 (EDT) Received: from smtpin08.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 7D6241EF2 for ; Mon, 7 Sep 2020 11:33:23 +0000 (UTC) X-FDA: 77236054686.08.beam22_3e0c598270cb Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin08.hostedemail.com (Postfix) with ESMTP id 578891819E764 for ; Mon, 7 Sep 2020 11:33:23 +0000 (UTC) X-HE-Tag: beam22_3e0c598270cb X-Filterd-Recvd-Size: 4051 Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) by imf31.hostedemail.com (Postfix) with ESMTP for ; Mon, 7 Sep 2020 11:33:22 +0000 (UTC) Received: by mail-lj1-f193.google.com with SMTP id u21so5485337ljl.6 for ; Mon, 07 Sep 2020 04:33:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov-name.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=mGeUqCmbhz8+N0Ziop9W7/cr7Tt1+iU1uadkks0K72Y=; b=mO1cN1q2yJxoaXOdd0DtcHUop5S4k60brHvcorYieV0cP6Kj7m3NS9lza+a027+Q3w Zry2an5mQQxfa1/neu3WcVzxRnXSGXPUFDaN10Ztqq88RMDenSN/eBSrmG4uibqQ+18/ VySEFTqt9cP3PmmfZKfCRNWGq0LvlnP3+5oTu20LmJcAH39DHYD/w4MmyFxKF+KFpsbL SBJXnjnsXlCKkgHkSk6op53pySfaNrvXrj9iX3vTH8u32kBkkBnH28uKLgTGqcMWkeuF ze526OIVQx6qtEH49VHlpXOPMI02l9fYL3YNoYBfUfHKyjEme4tX807Fi4hRszp+x8T7 lI1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=mGeUqCmbhz8+N0Ziop9W7/cr7Tt1+iU1uadkks0K72Y=; b=ZnxrypqU/rHLNiZFUdAmsnh13JUFvZRprmCVMhXuDDlrS1TUZGknuwg03peICrN5o1 zhmk73x+sQBuEHVFNT344+j27BsUa3VZqaIC5t5vN2lRr4pbKYbTKHENT5gNZMDfhZ+3 xVeNrX3qdT9N9DiNiolWSeqWIHt2qXNW4Tijvpp2FNGhupcXcy58DklVAgxO7tHWVKqm d4FPsC2WEpsOZp9Q2GuXkZJ5STe+bGFxbAlXN72eYKosYJkGat5H5uC/SMULzUMe3RH4 8bdSPP5zcVzwkwRcn/8ZpL9xWQVfk02Be5uNFIgtukjk8ukHHYEiFpss6a0tIvwszaGB RHug== X-Gm-Message-State: AOAM533EonvBaCDjR3zfqbPCYr4/WVxvpgMept9zH9dTZxw7LdiZM018 e3W/IQwYPL9J8d7tHhjaxrqCAA== X-Google-Smtp-Source: ABdhPJze8x2PoNOG3NM1iD+Qty/W6bZfyVCXzo+9ShsKGqDLMcJmIKhuHS9SkrU3fYqor4vIpsdudw== X-Received: by 2002:a2e:9212:: with SMTP id k18mr5106728ljg.241.1599478401181; Mon, 07 Sep 2020 04:33:21 -0700 (PDT) Received: from box.localdomain ([86.57.175.117]) by smtp.gmail.com with ESMTPSA id a192sm7280981lfd.51.2020.09.07.04.33.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2020 04:33:20 -0700 (PDT) Received: by box.localdomain (Postfix, from userid 1000) id 50E221034AA; Mon, 7 Sep 2020 14:33:24 +0300 (+03) Date: Mon, 7 Sep 2020 14:33:24 +0300 From: "Kirill A. Shutemov" To: Matthew Wilcox Cc: Christoph Hellwig , darrick.wong@oracle.com, david@fromorbit.com, yukuai3@huawei.com, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: Splitting an iomap_page Message-ID: <20200907113324.2uixo4u5elveoysf@box> References: <20200821144021.GV17456@casper.infradead.org> <20200904033724.GH14765@casper.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200904033724.GH14765@casper.infradead.org> X-Rspamd-Queue-Id: 578891819E764 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam02 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000512, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Sep 04, 2020 at 04:37:24AM +0100, Matthew Wilcox wrote: > Kirill, do I have the handling of split_huge_page() failure correct? > It seems reasonable to me -- unlock the page and drop the reference, > hoping that somebody else will not have a reference to the page by the > next time we try to split it. Or they will split it for us. There's a > livelock opportunity here, but I'm not sure it's worse than the one in > a holepunch scenario. The worst case scenario is when the page is referenced (directly or indirectly) by the caller. It this case we would end up with endless loop. I'm not sure how we can guarantee that this will never happen. Maybe it's safer to return -EINTR if the split is failed and let the syscall (or whatever codepath brings us here) to be restarted from the scratch? Yes, it's abuse of -EINTR, but should be fine. -- Kirill A. Shutemov