Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp905057pxp; Wed, 16 Mar 2022 20:48:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJws/K5gxdwgnwHczPivZiK98g4l0pMLk2BywTfS3u/55/6V0+nDp8PKt1k830RD2CYFLGUK X-Received: by 2002:a17:903:32d2:b0:151:e18b:5411 with SMTP id i18-20020a17090332d200b00151e18b5411mr3034901plr.29.1647488907177; Wed, 16 Mar 2022 20:48:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647488907; cv=none; d=google.com; s=arc-20160816; b=gYhAxQG+nBJ8NEUXU5qb0czdmRYDVFVdaxHr6qOCT8z/+ntBoVjtzYjoaIOq0Nyq4B 3R7sJqlWIqAL8sLf1Y74DElqOEuQXo8rzcOuHhaS1FCZ9lSWz2xlPiP73biq51pPBS2M +viNV1vVW/5P1w54DFIsw4n8HDr0hey33WVgbM7TzvotzVR2ezHGMlL78y64UMz8mWm1 YhySbPv6n0Jj+mVve5t2S18gyxq2R5B5sAl/1wZvBCgcONP+70tKbCFkz3PikpedQmHk OYyIfYVfq9yJHBZQPPiNUkZaajPWdfIbIuHIdY6cPIdxEmxR1FBiuOb00pKuBq3U9clf WkZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=/SZU2ESdlHhmex+3bR3+xFCzDxPmWNlXlgpsEl7VBs8=; b=ZXvZrVyiO9dm9DLLKhCJwtD8bGgs/kGkVv3y7rfo8ToszItZ6XvnVXMTdT9Bs+Fq9x +2DXA631ZGducp81TZ4U403ycu7JcUOlN9g536wFe/UCfTmH4Bgsqyd0LMibunrO/J/r KTD2axo10L0buvmNPXBd+Uv2mzGR3iEMAJ9OJxDgKLvCXIRSGTyRsQVHSKFy1UWPxEoh qNcXrakyaRBilBhXBjICO1N9VCl/liK312YVT0beAV1SDRJHMIvVC+U/4lwG4JZVjEer GioFASMvI1SP1YlN5JZbZPmMIM6k7v9C3yAEICsQ+l91H3WYVdr/O9Y6LknqkhRQATob NK8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=gNN7CMmh; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id bh11-20020a170902a98b00b001491138a661si3398641plb.331.2022.03.16.20.48.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Mar 2022 20:48:27 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=gNN7CMmh; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 73BB42182C; Wed, 16 Mar 2022 20:38:07 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232659AbiCPXEy (ORCPT + 99 others); Wed, 16 Mar 2022 19:04:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229812AbiCPXEw (ORCPT ); Wed, 16 Mar 2022 19:04:52 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8E13DFAC for ; Wed, 16 Mar 2022 16:03:33 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: dmitry.osipenko) with ESMTPSA id 71F991F44C42 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1647471812; bh=cw1c3IVv325Z8b6mJJEs4HEBjZj9x2UDC55LA51Tjsw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=gNN7CMmhxdZZ7js/GDH/LeNCtv99QQu//2AA/ElU7yHMo9wb9thbdFSK3P33l7byl 5DuTzvAk9xh5dBfjI8doFHWcLYJqarjfrzmM58A/7t9yBl4EVhZp9RXBSItKET0rjo pQ3mbIPSUVvr5RuYODuK5FnD0N10cxrnnCnzxazkZ4vozKzr8qGdg9LbUjWT+AR13w +OOeHCGPbbw4by9zcpnxr/rDWBDLgflOCuHLfRzORwSojjbbnTQjId9ldAs7m8YJkl Ik/5QeTy+8c18s7M1sn4lH2VB0FzQ1Nx27AiCwKqNFjcjoEdSf4iHV40krt8Ca9fe4 QAbCpmPvPsqWQ== Message-ID: <3fe18a5f-081c-c5aa-7366-0a44035e5082@collabora.com> Date: Thu, 17 Mar 2022 02:03:27 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH v2 6/8] drm/shmem-helper: Add generic memory shrinker Content-Language: en-US To: Steven Price , David Airlie , Gerd Hoffmann , Gurchetan Singh , Chia-I Wu , Daniel Vetter , Daniel Almeida , Gert Wollny , Tomeu Vizoso , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Alyssa Rosenzweig Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Gustavo Padovan , Daniel Stone , virtualization@lists.linux-foundation.org, Dmitry Osipenko References: <20220314224253.236359-1-dmitry.osipenko@collabora.com> <20220314224253.236359-7-dmitry.osipenko@collabora.com> From: Dmitry Osipenko In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,RDNS_NONE,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/16/22 18:04, Steven Price wrote: > On 14/03/2022 22:42, Dmitry Osipenko wrote: >> Introduce a common DRM SHMEM shrinker. It allows to reduce code >> duplication among DRM drivers, it also handles complicated lockings >> for the drivers. This is initial version of the shrinker that covers >> basic needs of GPU drivers. >> >> This patch is based on a couple ideas borrowed from Rob's Clark MSM >> shrinker and Thomas' Zimmermann variant of SHMEM shrinker. >> >> GPU drivers that want to use generic DRM memory shrinker must support >> generic GEM reservations. >> >> Signed-off-by: Daniel Almeida >> Signed-off-by: Dmitry Osipenko > This looks fine to me, but one nitpick: you should update the comment in > struct drm_gem_shmem_object: > >> /** >> * @madv: State for madvise >> * >> * 0 is active/inuse. >> * A negative value is the object is purged. >> * Positive values are driver specific and not used by the helpers. >> */ >> int madv; > This is adding a helper which cares about the positive values. Good catch, I'll update the comment in v3.