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 87DE9C77B7C for ; Sat, 13 May 2023 08:33:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B2196B0071; Sat, 13 May 2023 04:33:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6626E6B0072; Sat, 13 May 2023 04:33:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 52A926B0074; Sat, 13 May 2023 04:33:52 -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 427DA6B0071 for ; Sat, 13 May 2023 04:33:52 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0AA124033A for ; Sat, 13 May 2023 08:33:52 +0000 (UTC) X-FDA: 80784568704.21.CDA1C9F Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf16.hostedemail.com (Postfix) with ESMTP id 45A51180003 for ; Sat, 13 May 2023 08:33:50 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=03JA2Ddb; dkim=pass header.d=linutronix.de header.s=2020e header.b=v0mb7MEH; spf=pass (imf16.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683966830; 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=upafpHfSofvA8jLog1yJSjP3+mjtBPHf215cSKnKmkw=; b=Giaj9hXZfIQ+Oj7zqER2EqRIYAtMk5cOeYse3si6SDOL0c1BWUJc4w7e/rgmSoGc2tZcSs gS030iDfO12rNynfHi7TklaxOGxqYpfOQcYo0o1rDYlyQox+XVzG954TG2sKE/nD+JLQnz YJQWcKM2wkRuxD9b7UAsQLL2I6/eBt0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1683966830; a=rsa-sha256; cv=none; b=c0BcBhTdVaNMvuR48h7Ua1/SAcM74BB9S9x3wTM2jTMVyMd/SlItrXxCa0/GMD6zksAMjw dzxvSBIORHVovJP1M86cGqAboCRAxeFJwVoCXWLBGVh7pHuKtnM3sJIjjNPk5z7Vv7/jFG Zfr/g9vfBbsZIdV6EL7QPttgJLj4PFU= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=03JA2Ddb; dkim=pass header.d=linutronix.de header.s=2020e header.b=v0mb7MEH; spf=pass (imf16.hostedemail.com: domain of tglx@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=tglx@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1683966827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=upafpHfSofvA8jLog1yJSjP3+mjtBPHf215cSKnKmkw=; b=03JA2DdbUjhdsrNQv/c11zzVIyTbqS2EFOod1SeyF1nm6WYCoe9eorXz77Y1I26w2AvYJ0 7O2ooEtxe6DvH0RPJrqAjv8PqIiNVQ6JhmvAl7L2W3NoERrnXf/hb34vzsQT5PFCbk5lNG AQ2BLs1xOM3aZ1vEUQ1E3S6iOUa97iMBVICAcHctYf/q9csZqAe88Ur9Th8lsW2TnLkB+A qaYstRSpO885rD/2tBO0srRYTSA6BP65TZxD9qohHwJINCVOFJRgghzcdsdJDwUd/qF5hM faXXNDIBznlDgZCOgRQ1gYQomUZVz9BSXmn046PJt47hyegl/teKXG09bST63w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1683966827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=upafpHfSofvA8jLog1yJSjP3+mjtBPHf215cSKnKmkw=; b=v0mb7MEHh3lIRKFWHbNyszMXmH6IlZQO4cEkwxYLXCqCaEB5Ts3inpuBelseosdKwh8+do SjINwuzFW5bOWpCg== To: Tetsuo Handa , Andrew Morton Cc: syzbot , syzkaller-bugs@googlegroups.com, Ingo Molnar , linux-kernel@vger.kernel.org, linux-mm , Peter Zijlstra Subject: Re: [PATCH] debugobject: don't wake up kswapd from fill_pool() In-Reply-To: <61d7ac52-3352-b7cd-8908-890a29a007d9@I-love.SAKURA.ne.jp> References: <000000000000008ddb05fb5e2576@google.com> <6577e1fa-b6ee-f2be-2414-a2b51b1c5e30@I-love.SAKURA.ne.jp> <20230511204458.819f9009d2ef8b46cc163191@linux-foundation.org> <87v8gxbthf.ffs@tglx> <39c79d27-73ea-06a8-62fe-2b64d0fd8db5@I-love.SAKURA.ne.jp> <87bkipbeyr.ffs@tglx> <61d7ac52-3352-b7cd-8908-890a29a007d9@I-love.SAKURA.ne.jp> Date: Sat, 13 May 2023 10:33:47 +0200 Message-ID: <87lehsaavo.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Stat-Signature: dwca8qmes7qojhnehqpje8xyxbiqu8qi X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 45A51180003 X-HE-Tag: 1683966830-619727 X-HE-Meta: U2FsdGVkX1/mq/ylFEJ83M/FtZcImUh0yTjMHSlQmthMi40K4m299Jn2dL6xr9Arpi2gY74ckZFzr9y2y6XRMF7PfGgy5/oU7YsYK5KZ9CvzqOfL0nAq2r7acF/uZimYSxh6Rm+MGin4Ofa1CGpk6qTCenT3iBuGLk8QG7ncPa4amotRm/jDfAR+xNsZpQ5PxmDlDrlPh8+qF4tcJ47sN3kWEcu6ZBNcTHwWhfyaeQGF5Np38IJ8b59FGJeQUutUxuhDoS/RI2r7YJPZNhpZUduZObkaIr/+/R5neirXSzbljGsWlD38QolHzt6tdFfhmSHCr7GzTZF12D54C7zz6a44f1gw2GgtMPiWzbkAHf4iuwXc0WAlEpeQS8uItYTV9udaRn0Xk0wdPQZZppljIsYFjwf1viFt9zs3NcytU2/lwBBQ6FB1NyAy8phpsGgpBdL8eT0agX0b0XNCrtVzWC9cWlSSxkyI/Ro/lISjoG+o01MLA5vhxLjS+Nt8Gyv8jUK8nj8OmoOwFsTO5x38P04BKgRG4j/fc++a50XZh4mEL5rbFeEXBG6iE2bXJymh+iH+gq6quNe4lnSOGAe6/yisC924rltsvnYQIGm6a9b7XEHNYnOAjgg8uVkSRswLZHFLaJ8cp7zpXcXNrQbc7T4ea5PgteQGZgLjIT9UUtZht4Ui7WI1SA5FQTdwjhlE9+lP/sAn443eDO8AW7Q42jwZ1LqU2o8GRQ5HXhwph8aYB4JXYKwoYAxCvKK0EWBBkedlx3Fob6qN3W+atf27a0C4NT/gSooOZ6o0f7Lu9UIcDGdUN5RDA0euhO+vtYRy9N2qRrer55j4bYbA2mfScgxFJEstrj4e5yfq8aHjIFMIeB9w9jBqIeDQOMr8iXTD7rRVrCyeCU0i+UDpdGqUeBPO/ERkqlojlxo2tJxlN1DW9Jwq6q2aljGZdMJd8VlTs9ZWBMnv1zf7KkmEI4K PA/eCIQQ mvq+vqLFSA4n7xymCK6QxNQIxMFA5Jf2pZiGH09/D6D3pVcQnqHrDPoFXnIPkdtPWbXEe11HeaXBSeArtDyicNChDhO8L/zyjLPIefnQ5nckaH+dsPrGZCE1TN7AlfOec9bYLvxTHOYs2cExPLbh2pt6jpBz90Mo30jNNoVCvEOZRVdj+7bRIghk9sPQ25ELopGdp 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 Sat, May 13 2023 at 08:13, Tetsuo Handa wrote: > On 2023/05/13 3:07, Thomas Gleixner wrote: >> The main change is to make the refill invocation conditional when the >> lookup fails. That's how that code has been from day one. > > Making refill conditional helps reducing frequency of doing allocations. > I want a proof that allocations never happens in the worst scenario. > > Are you saying that some debugobject function other than debug_object_activate() > guarantees that memory for that object was already allocated before > debug_object_activate() is called for the first time for that object, > _and_ such debugobject function is called without locks held? The point is that the allocation in activate() only happens when the tracked entity was not initialized _before_ activate() is invoked. That's a bug for dynamically allocated entities, but a valid scenario for statically initialized entities as they can be activated without prior init() obviously. For dynamically allocated entities the init() function takes care of the tracking object allocation and that's where the pool is refilled. So for those the lookup will never fail. Now I just stared at __alloc_pages_slowpath() and looked at the condition for wakeup_all_kswapds(). ALLOC_KSWAPD is set because debugobject uses GFP_ATOMIC which contains __GFP_KSWAPD_RECLAIM. So debug objects needs to have s/GFP_ATOMIC/__GFP_HIGH/ to prevent that wakeup path. Thanks, tglx