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 3798EECAAA1 for ; Mon, 24 Oct 2022 15:06:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C2269940008; Mon, 24 Oct 2022 11:06:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD294940007; Mon, 24 Oct 2022 11:06:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC2E9940008; Mon, 24 Oct 2022 11:06:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A086C940007 for ; Mon, 24 Oct 2022 11:06:36 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 64017C0BC8 for ; Mon, 24 Oct 2022 15:06:36 +0000 (UTC) X-FDA: 80056169592.09.015E01B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf30.hostedemail.com (Postfix) with ESMTP id 96A3680035 for ; Mon, 24 Oct 2022 15:06:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=q/e1Qu4FtWDfZNOOIMgHCz0SgGdfdg4tA5OsEGOoE3c=; b=FrQ93RbAeyAsBBB/x8a2KWyRjb Pnwug+kpeEh3janb7pZacOSL53hYEgpXbZBGelbSUgmxB6EsqOHrLbauSQgOGjPeiGDOLMHKfUJTj eXpvysgzSc9vtKgKY03QtgbNRpfMaitvj4ixAcvj0BMhQ9JkqWTiLpIagTjlxxgDg50PO3qC355SM fEuSIZ9jjmDOeB1xrMW6o/bw+6Dso7BGdtfhvqVd/nraTKcfK+ODa4sLS+YJQSAJR0BMfRQxkgSjr jJ3aUQxfS0YpMJ1jUdZ+uqZEBiBC+UuqDaNIXUqwFiEV+ocKj8ZQsHcKJ2irFxXvLGzFyiGKEmF+f g9PhdxZw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1omz25-00FWrf-Vj; Mon, 24 Oct 2022 15:06:30 +0000 Date: Mon, 24 Oct 2022 16:06:29 +0100 From: Matthew Wilcox To: Vlastimil Babka Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com>, Hugh Dickins , David Laight , Joel Fernandes , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rcu@vger.kernel.org Subject: Re: amusing SLUB compaction bug when CC_OPTIMIZE_FOR_SIZE Message-ID: References: <35502bdd-1a78-dea1-6ac3-6ff1bcc073fa@suse.cz> <7dddca4c-bc36-2cf0-de1c-a770bef9e1b7@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7dddca4c-bc36-2cf0-de1c-a770bef9e1b7@suse.cz> ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=FrQ93RbA; spf=none (imf30.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666623994; a=rsa-sha256; cv=none; b=IwVo1EeNHUm0k+FyIEktijnxsh2ePNifEon7PjM/f4ByuSYvzDu7zHk8YEiXfqYQy4pnss Xe/nqONES6DB4sTOI49vC7ttHgXtATLY+oRiPSkxeVe6qWP4J7dXbbmtZgS3C/QH3Kr5xO A8YvrkswHAf5uIq+6mv/h2CoZncOsbQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666623994; 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=q/e1Qu4FtWDfZNOOIMgHCz0SgGdfdg4tA5OsEGOoE3c=; b=5wtVdp1BUmBIHB9x+UdxSYz3QeYTn5Xk33Bu8h2B1ywBNTj2aL+U1RcBInxJbGjpRYflvZ Fl7Ag5wpqHmIbRnJTkoZWpKoZgUoGSrC4Ym9EgzGfz6T+cD42zjnuVO2SHYQj5nTCxExRe 4NHr4Ph0jMnRWMd0XxnF24idCKcw8HI= X-Rspamd-Queue-Id: 96A3680035 X-Rspam-User: Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=FrQ93RbA; spf=none (imf30.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none X-Rspamd-Server: rspam11 X-Stat-Signature: u35t17rwt45qkfewuw1up7nypmkeecpg X-HE-Tag: 1666623993-280399 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: On Mon, Oct 24, 2022 at 04:35:04PM +0200, Vlastimil Babka wrote: > I would like to have a working safe version in -next, even if we are able > simplify it later thanks to frozen refcounts. I've made a formal patch of > yours, but I'm still convinced the slab check needs to be more paranoid so > it can't observe a false positive __folio_test_movable() while missing the > folio_test_slab(), hence I added the barriers as in my previous attempt [1]. > Does that work for you and can I add your S-o-b? Thanks for picking this back up. > +++ b/mm/slab.c > @@ -1370,6 +1370,8 @@ static struct slab *kmem_getpages(struct kmem_cache *cachep, gfp_t flags, > > account_slab(slab, cachep->gfporder, cachep, flags); > __folio_set_slab(folio); > + /* Make the flag visible before any changes to folio->mapping */ > + smp_wmb(); So what's the point of using __folio_set_slab() only to call smp_wmb() afterwards? If we call folio_set_slab() instead, don't all the other barriers go away? (This is a genuine question; I am bad at this kind of reasoning). Obviously it would still need a comment.