From patchwork Sun Jun 5 15:25:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 12869780 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B3F6FC433EF for ; Sun, 5 Jun 2022 15:25:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C72A610E6B4; Sun, 5 Jun 2022 15:25:47 +0000 (UTC) Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE70D10E6B4 for ; Sun, 5 Jun 2022 15:25:46 +0000 (UTC) Received: by mail-ed1-x535.google.com with SMTP id er5so15776665edb.12 for ; Sun, 05 Jun 2022 08:25:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=oBSo6LhPKNDFYlpKsrymkakMP0nVeotmS2LDUe++2Ag=; b=MI2W98/bl4fvsuc7EA8n3jW7RtyXsolzKl8iYKGjUKHxpV+xI4yWBh9si/SfGcnemX Wp8Z6Ka4sKIw3ARIJrGTE81BjutbjE8F98r+5LHsywIlLVbH8ZT9BpS2oa3MAZ3Rs2gu AdGWx4erG8ZpDjcF3eYxvJR82Nlg41YU9S044= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=oBSo6LhPKNDFYlpKsrymkakMP0nVeotmS2LDUe++2Ag=; b=7IKXbHjZQnWOxy6qL7U8AY7RdN6P0Ge2igAikTeHaX+AbtdK5VM0+LDb3N6zp62wFp 6S63NAhPZ3lkRLbVU1PHbGfZEOgGKm9b+uo3ONrFPYoGBCk+cV81Ql0Y8jQTy4z/JRIQ GDKmjA2gRcQJNIGjOswz+nY5CjuLYshEA9N8OdFhmxTz0Pa6LACkO48GPTdV9MXA0xMg yt77qlZHAhrF7zUC5nYtJrru9u3vXbDHWDcJmS9u/nlYmMeHUEDaVc7T1pMNYH31RvR8 cc5uVawqMoEhUCD6P+5LLRhTOlWuBCM4H5yDxqJfoHZ4PIuLCCKyARHK66Xn9iXQV9dW pGhQ== X-Gm-Message-State: AOAM530dWfyxBFXRO39CkL5HKwcEJHYNQZW4m4qHARujwthQT1Ow5xlk UJ06izbZu3Mt1ET0eb3v8MMYtw== X-Google-Smtp-Source: ABdhPJyz+DCsoFSlGZIktlTYtkVTK8pml1UNEzc+5GGMb5RBEfVAt3+lSGDPBsrviNR+kw3jH8t97w== X-Received: by 2002:a05:6402:42d4:b0:412:c26b:789 with SMTP id i20-20020a05640242d400b00412c26b0789mr21414271edc.232.1654442745494; Sun, 05 Jun 2022 08:25:45 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l21-20020a056402125500b0042dddaa8af3sm7051499edw.37.2022.06.05.08.25.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jun 2022 08:25:44 -0700 (PDT) From: Daniel Vetter To: LKML Subject: [PATCH 1/3] mm/page_alloc: use might_alloc() Date: Sun, 5 Jun 2022 17:25:37 +0200 Message-Id: <20220605152539.3196045-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.36.0 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-mm@kvack.org, Daniel Vetter , Andrew Morton , DRI Development , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" ... instead of open codding it. Completely equivalent code, just a notch more meaningful when reading. Signed-off-by: Daniel Vetter Cc: Andrew Morton Cc: linux-mm@kvack.org Reviewed-by: David Hildenbrand Reviewed-by: Vlastimil Babka --- mm/page_alloc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 2db95780e003..277774d170cb 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5177,10 +5177,7 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order, *alloc_flags |= ALLOC_CPUSET; } - fs_reclaim_acquire(gfp_mask); - fs_reclaim_release(gfp_mask); - - might_sleep_if(gfp_mask & __GFP_DIRECT_RECLAIM); + might_alloc(gfp_mask); if (should_fail_alloc_page(gfp_mask, order)) return false; From patchwork Sun Jun 5 15:25:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 12869781 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9B403C433EF for ; Sun, 5 Jun 2022 15:25:52 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2704010E169; Sun, 5 Jun 2022 15:25:49 +0000 (UTC) Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by gabe.freedesktop.org (Postfix) with ESMTPS id D76FC10E8C7 for ; Sun, 5 Jun 2022 15:25:47 +0000 (UTC) Received: by mail-ed1-x536.google.com with SMTP id er5so15776702edb.12 for ; Sun, 05 Jun 2022 08:25:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=f3oII5rEfZoXf7U4b6hs9rpi5sWM6BBnmpd30r2QEOU=; b=PyvPxjctikeWzSfNKXCBFIPiHQj342ETF+dWPSJtdTYhGlMch8kZDbkzZkAyX1rhHD vZ401ub/slIA5YG7R+7EGL6JtPXUmSKeBnMSlw5PZx16vAcARgASoY3pVP9iaOnNox3G 5K+FGbP7qHXBGFM25b//KOjJyLZEDACKFxUT4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=f3oII5rEfZoXf7U4b6hs9rpi5sWM6BBnmpd30r2QEOU=; b=yk0JSiVaH9uhygh5EpeWnh0XzNnLgJosjWmu/3+U1VfzgyZ/jIVmYH/Hj7BztpiC9U JwJrdxO4wZKUeEtqwkW6hvBgT72bUWzo1gtiX3TNveW7Xs+FuuavLGMVqDyw8I40L7AQ xsrUhEbJYHgx+5nXldbZa2HHgZrmpNjlvxrQBwboYHoK1OA1S58TKmz/xqL5G+NPblJL Xt+2uCqfg6C6DNbOmBo8dB+pyzux+IufVLyOZG0BTS4pBlM2fD7ZaN1u3wrYM2CqtVRy 2NzD1F+VT8NqAoq/d7359wHh8W9/A+B6db0y/b4QxAGGP15zmxXGD9pj984/41HwHkHj Lj3Q== X-Gm-Message-State: AOAM531r8I9DCiueGVd1zWenasnktLuinf1DELLuKCFqyrfq5Rf2ABfA I+dFuUyFXMKfT3UWrrADE98/Ng== X-Google-Smtp-Source: ABdhPJzO8PurCrRxgpc214KmxgqXebuHnZN2GlgM5MuV0uMe12+HNCSkaguDfuGB/Kq9xPEFTfDOvw== X-Received: by 2002:a05:6402:42d4:b0:416:5cac:a9a0 with SMTP id i20-20020a05640242d400b004165caca9a0mr21618319edc.86.1654442746342; Sun, 05 Jun 2022 08:25:46 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l21-20020a056402125500b0042dddaa8af3sm7051499edw.37.2022.06.05.08.25.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jun 2022 08:25:45 -0700 (PDT) From: Daniel Vetter To: LKML Subject: [PATCH 2/3] mm/slab: delete cache_alloc_debugcheck_before() Date: Sun, 5 Jun 2022 17:25:38 +0200 Message-Id: <20220605152539.3196045-2-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220605152539.3196045-1-daniel.vetter@ffwll.ch> References: <20220605152539.3196045-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Morton , Daniel Vetter , Roman Gushchin , DRI Development , Pekka Enberg , linux-mm@kvack.org, David Rientjes , Daniel Vetter , Christoph Lameter , Joonsoo Kim , Vlastimil Babka Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" It only does a might_sleep_if(GFP_RECLAIM) check, which is already covered by the might_alloc() in slab_pre_alloc_hook(). And all callers of cache_alloc_debugcheck_before() call that beforehand already. Signed-off-by: Daniel Vetter Cc: Christoph Lameter Cc: Pekka Enberg Cc: David Rientjes Cc: Joonsoo Kim Cc: Andrew Morton Cc: Vlastimil Babka Cc: Roman Gushchin Cc: linux-mm@kvack.org Reviewed-by: David Hildenbrand Acked-by: David Rientjes Reviewed-by: Muchun Song --- mm/slab.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/mm/slab.c b/mm/slab.c index b04e40078bdf..75779ac5f5ba 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2973,12 +2973,6 @@ static void *cache_alloc_refill(struct kmem_cache *cachep, gfp_t flags) return ac->entry[--ac->avail]; } -static inline void cache_alloc_debugcheck_before(struct kmem_cache *cachep, - gfp_t flags) -{ - might_sleep_if(gfpflags_allow_blocking(flags)); -} - #if DEBUG static void *cache_alloc_debugcheck_after(struct kmem_cache *cachep, gfp_t flags, void *objp, unsigned long caller) @@ -3219,7 +3213,6 @@ slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, size_t orig_ if (unlikely(ptr)) goto out_hooks; - cache_alloc_debugcheck_before(cachep, flags); local_irq_save(save_flags); if (nodeid == NUMA_NO_NODE) @@ -3304,7 +3297,6 @@ slab_alloc(struct kmem_cache *cachep, struct list_lru *lru, gfp_t flags, if (unlikely(objp)) goto out; - cache_alloc_debugcheck_before(cachep, flags); local_irq_save(save_flags); objp = __do_cache_alloc(cachep, flags); local_irq_restore(save_flags); @@ -3541,8 +3533,6 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t flags, size_t size, if (!s) return 0; - cache_alloc_debugcheck_before(s, flags); - local_irq_disable(); for (i = 0; i < size; i++) { void *objp = kfence_alloc(s, s->object_size, flags) ?: __do_cache_alloc(s, flags); From patchwork Sun Jun 5 15:25:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 12869782 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AE0F0C43334 for ; Sun, 5 Jun 2022 15:25:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C179E10E8C7; Sun, 5 Jun 2022 15:25:49 +0000 (UTC) Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9845810E8C7 for ; Sun, 5 Jun 2022 15:25:48 +0000 (UTC) Received: by mail-ed1-x52f.google.com with SMTP id w27so15761047edl.7 for ; Sun, 05 Jun 2022 08:25:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AijNSNENsndq1lruXgHmAupjtkvf2lBpkHUQA6jew9s=; b=H0zgmtQMVi6D7id759wg8VhqByApWuQ2eAmgXrVLdr0Q1LBDhY7Kz4vpBWUEF4NhOf XiNPQ4GjBN04uYIBj9rn/FJOfwHB5hceglNc0WlSZbm1ugfm6i9LqALZfCEzOoYvi6yF 92djWVCArm7K7WenfzY12vjC0Kkr0MxID7g4E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AijNSNENsndq1lruXgHmAupjtkvf2lBpkHUQA6jew9s=; b=Y5o3TvgM1WluWNneVXY3ZA9C+nxtm+7aXnjMiz7JxC7ZTK22G0Q/CQiHNa+hbv7fgz JA2b3rxWD3Gc0xYAkGMacRN7fnOow7KPH5Ns/GhFbjaDHeRXuLpuYL7DdSePUzdRYP/B EqnoBR90PJnHPU38WmjyiPmqjOYm+bl/C0+B8ZEmlI3LZLV3qwsfz79adu5ndM7ZZl03 67UaA9lpnDxhE7f5rQKYqawU2zFjcsA4q7YO+9iNHEKBOLN94dfLwwWbCAuBFN8FdhD8 l4Umjkc6xnCt7uDnnoD/LRAe4ubzBCQ6JymeKajz0boYo1SFoINZOIBVGCj+KcMZO4ob SUeA== X-Gm-Message-State: AOAM532c+8L5FDVSvtKy2imwitoYxsNFIU33vSCZWRw63btkQJuqFr8J 5nf9AD35zGVvL/cDO/wAw9M0gA== X-Google-Smtp-Source: ABdhPJz8dAE/Co15RJ/4mJpqVwCjyClqDvdCuxcacvEE1TV8+moyX503AYyBnHuJfqgA1ohjLbwB0w== X-Received: by 2002:a05:6402:3484:b0:42e:1f3b:4a4c with SMTP id v4-20020a056402348400b0042e1f3b4a4cmr17457804edc.326.1654442747113; Sun, 05 Jun 2022 08:25:47 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l21-20020a056402125500b0042dddaa8af3sm7051499edw.37.2022.06.05.08.25.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jun 2022 08:25:46 -0700 (PDT) From: Daniel Vetter To: LKML Subject: [PATCH 3/3] mm/mempool: use might_alloc() Date: Sun, 5 Jun 2022 17:25:39 +0200 Message-Id: <20220605152539.3196045-3-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220605152539.3196045-1-daniel.vetter@ffwll.ch> References: <20220605152539.3196045-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-mm@kvack.org, Daniel Vetter , Andrew Morton , DRI Development , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" mempool are generally used for GFP_NOIO, so this wont benefit all that much because might_alloc currently only checks GFP_NOFS. But it does validate against mmu notifier pte zapping, some might catch some drivers doing really silly things, plus it's a bit more meaningful in what we're checking for here. Signed-off-by: Daniel Vetter Cc: Andrew Morton Cc: linux-mm@kvack.org Reviewed-by: Vlastimil Babka --- mm/mempool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/mempool.c b/mm/mempool.c index b933d0fc21b8..96488b13a1ef 100644 --- a/mm/mempool.c +++ b/mm/mempool.c @@ -379,7 +379,7 @@ void *mempool_alloc(mempool_t *pool, gfp_t gfp_mask) gfp_t gfp_temp; VM_WARN_ON_ONCE(gfp_mask & __GFP_ZERO); - might_sleep_if(gfp_mask & __GFP_DIRECT_RECLAIM); + might_alloc(gfp_mask); gfp_mask |= __GFP_NOMEMALLOC; /* don't allocate emergency reserves */ gfp_mask |= __GFP_NORETRY; /* don't loop in __alloc_pages */