Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1028531pxj; Thu, 17 Jun 2021 20:38:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyC0kuaRYbofP+g3T5yyMsu7PaKd8jcCq6jDOafdZccyhINcblJ78oeXSjDOZy1Xo46wTdH X-Received: by 2002:a05:6402:3c1:: with SMTP id t1mr2098644edw.270.1623987485564; Thu, 17 Jun 2021 20:38:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623987485; cv=none; d=google.com; s=arc-20160816; b=rC5TTK45eK0Q0hFCW0X4JncEw0zRRAyQLj9bD4CL9qm+rdh/4FKoDVf69cQtiLtdkW Dr+9sy9YpX50hGuTCMMBhfx+3H8NugbepwaNHu1eAWRLPsR3uehebopUL8kGhuaQ3iPj 6EjwoiaMeLVA+kfx3XTuMzR47X5/fEdaek80uDzXDxYD7LAOL7Lf/WDMvINKPyjEYBnH 2AtcrLIRjG1ajSxo17FunWp6qNSTyb6qmbR90+Lg+9SG7uCFI4oLNSNxcu13x6lgTpvA Ms/uYkmEo4qZVHV/rrDFcsSd24Hp8FO0Cu1cjje2b0iVlhxCjthwQb9BBk8/gf1P+l95 xZ4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:to:from:date:dkim-signature; bh=lfPVG5Rlds1gsdNwyYiwTk3qXAK1bjtNSBW/loIyjKY=; b=gqB52LD87HAwGmJfhzWmUZdx27GfmAppk9BE6//rcKO6rpf4A4qBCp3au5b6DwYTnv JmM3GNm+g4U/zq4wki5YQuxqXLb9QFPm88ghDgCGOZbCHGVZgDBowYavrpSQaoarOhmb 1UuglO2FMDMHdRIZVWZeSIwAoLarG5qoS+p52mSb3w8FQC9YI5U5PEszl+FFwzBqu8uy k1KXoOuVrBI4ahDMJ7SsQQNN44Nc5SUlRrBuOqvVFRaLpJltSGDLbsTVm1a65p29+nyR co0H3rE9LqH2yksdnozVBWqiZQCE7X895RxSUrVNp1kyYUYLUZ0/P5tHKGGOAaoQu4fz PSmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=E2p6v27b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 20si1149294ejj.363.2021.06.17.20.37.42; Thu, 17 Jun 2021 20:38:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=E2p6v27b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233628AbhFRCbp (ORCPT + 99 others); Thu, 17 Jun 2021 22:31:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231289AbhFRCbo (ORCPT ); Thu, 17 Jun 2021 22:31:44 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A8ACC061574 for ; Thu, 17 Jun 2021 19:29:36 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id g22so6551538pgk.1 for ; Thu, 17 Jun 2021 19:29:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=lfPVG5Rlds1gsdNwyYiwTk3qXAK1bjtNSBW/loIyjKY=; b=E2p6v27bJYXXFcPeI5HII06b35v9VeR4Y4LrX8rCAPy1EKcPKWRNCLSeoRvFB6gu7a 20danzHU+5B4CO5YgjmOJsLR+X+AJ+glc5VcTxedFJ3oKqjyLWzZO24FXuUSB+0naqmE k6pwiekhhbjBwqo4/5qvEF6ACa0hCftM65IOE= 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:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=lfPVG5Rlds1gsdNwyYiwTk3qXAK1bjtNSBW/loIyjKY=; b=TxrdDYaY8h0kBiyYEAoj97dYXz5Y1F99+TvA9dErdMLBainFtHL7xPcatg/nMcf/Si nYWklOo5l04RSWyImIrYn7DPMcg7uCDerb64T7fdUD1Pa6fFwB0Xmf1FpFmnU21/5Knp 5uYj4sBOCgZIQ0A23m5NjlJ4ZlCezLqaMOtnWR2dXMzp78cAocPo+VW+LxXqqStQI+31 rOrWA83CFn4NeIlWFF81XKkBIOmEBv183QNvBsfS/FHkK8idq1O+dq3ZoBQnB/wGSckC xwqdiMCP7tW3vclsEkM4JLJWl3Kg6cPLFqXcSA7Ar+dIvu22ABBIbQVkS67JadncuaJn 3rVQ== X-Gm-Message-State: AOAM531WZqmpfy02L9wmLugTRBqskIb/I827lsbWRvXTeW3YFA+fntPU yxtM59gvX9TD9o72OfNdnhptbw== X-Received: by 2002:a63:5c4a:: with SMTP id n10mr7829823pgm.279.1623983375774; Thu, 17 Jun 2021 19:29:35 -0700 (PDT) Received: from google.com ([2409:10:2e40:5100:51a0:fc:f202:9f8]) by smtp.gmail.com with ESMTPSA id v7sm6368683pfi.187.2021.06.17.19.29.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jun 2021 19:29:35 -0700 (PDT) Date: Fri, 18 Jun 2021 11:29:30 +0900 From: Sergey Senozhatsky To: Sergey Senozhatsky , Matthew Auld , Jani Nikula , Joonas Lahtinen , David Airlie , Chris Wilson , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: drm/i915: __GFP_RETRY_MAYFAIL allocations in stable kernels Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (21/06/17 19:27), Daniel Vetter wrote: > > > > So can all allocations in gen8_init_scratch() use > > GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOWARN > > Yeah that looks all fairly broken tbh. The only thing I didn't know was > that GFP_DMA32 wasn't a full gfp mask with reclaim bits set as needed. I > guess it would be clearer if we use GFP_KERNEL | __GFP_DMA32 for these. Looks good. > The commit that introduced a lot of this, including I915_GFP_ALLOW_FAIL > seems to be > > commit 1abb70f5955d1a9021f96359a2c6502ca569b68d > Author: Chris Wilson > Date: Tue May 22 09:36:43 2018 +0100 > > drm/i915/gtt: Allow pagedirectory allocations to fail > > which used a selftest as justification, not real world workloads, so looks > rather dubious. Exactly, the commit we landed internally partially reverts 1abb70f5955 in 4.19 and 5.4 kernels. I don't mind I915_GFP_ALLOW_FAIL and so on, I kept those bits, but we need reclaim. I can reproduce cases when order:0 allocation fails with __GFP_HIGHMEM|__GFP_RETRY_MAYFAIL but succeeds with GFP_KERNEL|__GFP_HIGHMEM|__GFP_RETRY_MAYFAIL ON a side note, I'm not very sure if __GFP_RETRY_MAYFAIL is actually needed. Especially seeing it in syscalls is a bit uncommon: drm_ioctl() i915_gem_context_create_ioctl() i915_gem_create_context() i915_ppgtt_create() setup_scratch_page() // __GFP_RETRY_MAYFAIL But with GFP_KERNEL at least it tries to make some reclaim progress between retries, so it seems to be good enough.