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 8FE36C4828F for ; Thu, 8 Feb 2024 22:45:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 153158D0006; Thu, 8 Feb 2024 17:45:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1036F8D0001; Thu, 8 Feb 2024 17:45:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F338D8D0006; Thu, 8 Feb 2024 17:45:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E436F8D0001 for ; Thu, 8 Feb 2024 17:45:12 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id AAAC1120F98 for ; Thu, 8 Feb 2024 22:45:12 +0000 (UTC) X-FDA: 81770118864.10.C0C288A Received: from out-177.mta1.migadu.com (out-177.mta1.migadu.com [95.215.58.177]) by imf10.hostedemail.com (Postfix) with ESMTP id 367B9C001A for ; Thu, 8 Feb 2024 22:45:08 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=lezzZ+tt; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf10.hostedemail.com: domain of kent.overstreet@linux.dev designates 95.215.58.177 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707432311; 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=W0JffnIev88BcC8Hl6egW1rjoWWfB2jwFQZciSPudNI=; b=gSOLeR2skmvIVTFVhuq4zIydmQYcynFFrG3Zqu4bAINM5fGHnQNeLJK35WGHVpuwq2Bm4v ptUi2bGGDs8KhMy82AiRrX8lRyMJDvSG0ehLOfTXJxb4XHPkd1TNrcjmeSvwnUCkNCWd7i ow6dJo8ymEvGUadbWsRom39s96y4nu0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=lezzZ+tt; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf10.hostedemail.com: domain of kent.overstreet@linux.dev designates 95.215.58.177 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707432311; a=rsa-sha256; cv=none; b=2c97E84ABOJ7wYIdgeaW2bSivvpRdYCCqySDJejEd9Y0BrE7au7UgWWEt2yS2Ih16N4/cl uDMAQQ/HsUjt4ZFHNWykvXsczO6/a6PPK+P4TXYcJbBuW8YxdfYa/CZmCNwWezz64gBKOx dQ5QeSSI3AqHJ4b37qTdJnafBRygQSU= Date: Thu, 8 Feb 2024 17:45:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1707432306; 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=W0JffnIev88BcC8Hl6egW1rjoWWfB2jwFQZciSPudNI=; b=lezzZ+tth1kRqJyrWGGU9sTfubrW+ImjbBA+pOL5Zyj77Jb6V2xSyYhT2JTnYLoPj+y9mr N18RVopOFvf0ZYMtdbC8uL3XxLfP02z43Rf0IIfpkP7D9+gXog6JghmhcFAuXNwhGvPUP2 QPc0CxJsE0Ao+uuOmFiOydtKo77qCqQ= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Kent Overstreet To: "Vlastimil Babka (SUSE)" Cc: Michal Hocko , Dave Chinner , Matthew Wilcox , lsf-pc@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, linux-nvme@lists.infradead.org, Kent Overstreet Subject: Re: [LSF/MM/BPF TOPIC] Removing GFP_NOFS Message-ID: <4qc7h3gun5lkv3p5piftgkhgmlbrgqteut3vxtjrme47kyn7q7@62ogk3chsrme> References: <3ba0dffa-beea-478f-bb6e-777b6304fb69@kernel.org> <3aa399bb-5007-4d12-88ae-ed244e9a653f@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3aa399bb-5007-4d12-88ae-ed244e9a653f@kernel.org> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 367B9C001A X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: f6z7rmqwfgk1x4mai3o6w9ykhb9fd7c5 X-HE-Tag: 1707432308-436862 X-HE-Meta: U2FsdGVkX191XLmSzTrcIWPId6eskqJRaXnehOsS0ZjeUbilRPJ1N467QYdxGYnxCpYTEFm+XSdyd24N11GtLf7WekaCL1uylb9DwNOCQNzEJfrb196cu3RUH4O/lpzuPBeWntGIgxCpJnqFT1qs4r3bIbneKjOMIRm1ZJeg21xnN9QWNbXww9hS44R0jFXlA4yUxySCTLgGYtECymz+P8PIDv6iedFwj1Rr0PaZjn77HcPVH1fOCUQMp9MmkRm8kfI6k9CnNSayWlpmNKqOOrnHvjtnClZ0nqlgzynQwfzACuvdwquFs8XH/46evyABKw4CRN0QCjk/jba0WpFc7YqeVgqe8KMPi/lOG2yntKmM4HrxnGkdQjxQzQXri1IK55fWAW0nT3VWH85ET71x2xKKv4iE8Eydkqys60ufpJtfStUTiXfFm/0sNFvKQc11RuJrs0il75IOTW/f2tsysXg05HxpRzpL+/v5CVRGmhnLkvZQKhP1PAGburSf3e3ohTEFNgU+JDQicAIZ1JHfbdVMI4ttWn1OqCwV6pO04WaiTvGs2wkw89fY2fLYA4FpGE6M5hooZB1s5m6mZ6TH7AmCM3Nz1VvdYnfHKcKfjujBFQ8CfWBCReMa9f5ZOmI18XuDA2OKiEe8x34eDW3E99V6wz8Ekg+crsRe35QhebMHjkIh6G0PSiygxQR1JnjrXZ54dzGsBwJCWDJ4fCfZc5szltKdWMGN4ToObZuh9FmJRfq5pZdEVrpRH1w5cZCz1UTEoqKIQZmGDBFXBfyKfusbbbRqAT7IVxRNwCLsP42pVpniT1KPPJlSpY0+XSRnU8U0sjUoKhRTsSGtetka91wcD6aM2TqKpITFZPreAGwAl6V6skVtKjiv5pSGiS08Mqf79eYrwXtjWpwmi5riStKBiLIx7nXirpBB840hBNjqLFgNIaQnm0wtssIc0pxRRkfuCgP1TY+OruRu46M zUz8bjVV 2QAS8dTl7tea+iJj89i9crq8TZi0JcStoDlvFmCtcUEIadFaGv0TOA84XK1U2mZCe6alGKxy+FcXGCEFYjKIVM8DZK5TWvW/ArZ2lBxUUyGvCe4ERzvEnjm0MgshIz0+ydYQarx1Qxv9XbvH8Hl0ae/Ej4/4BDF2W4mwkqPNgavg4SSmlIhGM/dtpQjuqjYF0CKXJ 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: On Thu, Feb 08, 2024 at 08:55:05PM +0100, Vlastimil Babka (SUSE) wrote: > - NOWAIT - as said already, we need to make sure we're not turning an > allocation that relied on too-small-to-fail into a null pointer exception or > BUG_ON(!page). It's probably not feasible to audit everything that can be > called underneath when adding a new scoped NOWAIT. Static analysis probably > won't be powerful enough as well. Kent suggested fault injection [1]. We > have the framework for a system-wide one but I don't know if anyone is > running it and how successful it is. I've also got a better fault injection library in the pipeline - I'll be posting it after memory allocation profiling is merged, since that has the library code needed for the new fault injection. The new stuff gives us (via the same hooks for memory allocation profiling), per callsite individually controllable injection points - which means it's way easier to inject memory allocation failures into existing tests and write tests that cover a specific codepath. e.g. what I used to do with this code was flip on random memory allocation failures for all code in fs/bcachefs/ after mounting, and I had every test doing that (at one point in time, bcachefs could handle _any_ allocation failure after startup without reporting an error to userspace, but sadly not quite anymore). that, plus code coverage analysis should make this pretty tractable.