From patchwork Mon Apr 20 14:19:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrea Righi X-Patchwork-Id: 1273461 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495TN004vlz9sP7; Tue, 21 Apr 2020 00:19:12 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1jQXGN-0007J4-73; Mon, 20 Apr 2020 14:19:07 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jQXGK-0007Ix-Rl for kernel-team@lists.ubuntu.com; Mon, 20 Apr 2020 14:19:04 +0000 Received: from mail-wr1-f69.google.com ([209.85.221.69]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jQXGK-0007f8-Hz for kernel-team@lists.ubuntu.com; Mon, 20 Apr 2020 14:19:04 +0000 Received: by mail-wr1-f69.google.com with SMTP id y10so622477wrn.5 for ; Mon, 20 Apr 2020 07:19:04 -0700 (PDT) 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:mime-version :content-disposition; bh=j/b804G8ykLEc3yjMI9fMH0agpx9TwX3MaQzwcmzJB4=; b=HcsGm7lTM2eW7qW+DRAD+5XppQVXZT0duVWxNjIyq4b0vVC56JzpF0E0a2J9mocgkS KNsNaEb02gE3B6M4ltmqsK3nNtQ5rhNLk+1BkoELc6t9cxSxyvrVyItUPBBvVynnLkEy SzoLXCrKvV4RbMIWs9C8+wbdaN4FzmAwN/1KCd5GLPxWdSfDnFxTE/Io/SJeMwI3yPF+ kd6bc5oVh0NwBI5f1L4DU7StZtULtbKUeeQ5BHTN9Gs3wIVPc6yRu00OS1vmo87CEkuo aWEtlOtJvUDH9z4kBTaGvhAgMPtFuW0JnUVRurAOGq+OgFt4+I7nk1C6NuLj3VkYkY8p UV4w== X-Gm-Message-State: AGi0PuZrKOB3DEfRyTiuzczXMicVJ5vhvlFhgCZAdq0AHcrD77iZ2Yux dUXvM7CbHgkqGedOXa6CEGwXyQzZlBwXY4w4PbA6/sbayORZ6mc4AfIT6UO8vhCyPm3KL5c32S7 65YSBSqKv5yuyysu5PmeLVVEfKfihhiXlfnj9q0iF+g== X-Received: by 2002:a05:6000:108b:: with SMTP id y11mr17562409wrw.380.1587392344030; Mon, 20 Apr 2020 07:19:04 -0700 (PDT) X-Google-Smtp-Source: APiQypJjOEcm6tBxE+FrNOaoQo9ZnnOLRi/P3YexyZsj3j0ds3fvQ8DVZxikbCNdBVCkvdQe6t7aBA== X-Received: by 2002:a05:6000:108b:: with SMTP id y11mr17562383wrw.380.1587392343704; Mon, 20 Apr 2020 07:19:03 -0700 (PDT) Received: from localhost (host123-127-dynamic.36-79-r.retail.telecomitalia.it. [79.36.127.123]) by smtp.gmail.com with ESMTPSA id h1sm1606047wme.42.2020.04.20.07.19.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Apr 2020 07:19:03 -0700 (PDT) Date: Mon, 20 Apr 2020 16:19:01 +0200 From: Andrea Righi To: kernel-team@lists.ubuntu.com Subject: [PATCH][SRU][F] UBUNTU: SAUCE: drm/i915: prevent direct writeback from the shrinker Message-ID: <20200420141901.GA401476@xps-13> MIME-Version: 1.0 Content-Disposition: inline X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1861359 The i915 shrinker can make the system unresponsive and kill interactive performance by swapping out dirty objects to reclaim more memory. Avoid the lags by preventing to swap out dirty objects from any task (except kswapd). This is not required in 5.5+, because it is properly fixed by commit 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm->mutex") However, backporting this commit to 5.4 is not trivial and the regression potential is high. A simple change like this can be a reasonable compromise to prevent the problem and avoid the risk of introducing other bugs. Fixes: 2d6692e642e7 ("drm/i915: Start writeback from the shrinker") Signed-off-by: Sultan Alsawaf Signed-off-by: Andrea Righi Acked-by: Seth Forshee Acked-by: Kamal Mostafa --- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c index edd21d14e64f..793bd586b80b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shrinker.c @@ -357,8 +357,7 @@ i915_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc) sc->nr_to_scan, &sc->nr_scanned, I915_SHRINK_BOUND | - I915_SHRINK_UNBOUND | - I915_SHRINK_WRITEBACK); + I915_SHRINK_UNBOUND); if (sc->nr_scanned < sc->nr_to_scan && current_is_kswapd()) { intel_wakeref_t wakeref;