Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp1656528rdb; Mon, 2 Oct 2023 17:31:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEvrIdEfbgfQ7B8TEBAkYwS+qMHJoLQNOEuwLHzAQMMlT2bihZrZCYA8iM6A45+Qn6qMAF5 X-Received: by 2002:a67:edc5:0:b0:452:4d64:9347 with SMTP id e5-20020a67edc5000000b004524d649347mr9154438vsp.35.1696293109699; Mon, 02 Oct 2023 17:31:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696293109; cv=none; d=google.com; s=arc-20160816; b=bAReMPa0HKGUnry0dGVtIiv2mWpd8aoC95T6CrgJWGLL2JTANrE79NmRKiYeku6S9A A161aa8iajnZ90gDtlKa9l/wf2yDMuv13eMo4SBNgauOijOculbYsIs6ebZMVHrs0gq2 VY5ly5MpF/JmYVXdMH2Wa+uYUSL4xRiMQ8bM532Lxr1gw9Zh8HgLEgMb+kIfeCvaU9pu nmHj0Nh4LQhPKzSjKj+TjM6qVFBQ/uMu5fcHoMjEEJn5J1jzDtroIsp0WpTLTr4QxGf6 yu8MhFOgZDps7TYoXvR7EFWDBPfRTIZIqcvRX5Zw2wAHNz9tdvriEJ74G5f9OuZR2pJk Wzhg== 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=nFF58nLdPvKrJO/SX32/aLW1CkNycnbDrctKtSZroN0=; fh=TLdaYVTYpkOucWp2gi2TZIRkEiwPxZ330gpwGOOjymo=; b=Chw+eXWEueXb5j2cyhKJlNTlnMRpaXIVylhgRnz2cHc93G14Zbn3EMjcDveLV0f8h0 18u5e2a6RRSUheWB6Tg3x6N6hJhrEBYbKZdHq0IG5dA0Xd9kxGCUkmiTpOUxd62QIc6O tEPN6AFLi9um5mqH1D1/BlyoDAGSeMCLWVl3dKtsVbjCEhWUV89nBxgn+nML/RrxGG1I NEQb+nJwtfeP0HqZYX/GSPrPmotiFE0/1YQzBDp43ZhGMny4W4taRLVPfcGr7iSFUlXD Ah1H4vq1DFmDqHhS/sXn7xMh9v+XbFQh3sVuzPXjwuLGq+maRzPZUmmZyO5SyKSZxOdC jTaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=IMSXJglY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id i66-20020a636d45000000b00577bf1de778si162553pgc.585.2023.10.02.17.31.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Oct 2023 17:31:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=IMSXJglY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 3E1328097A63; Mon, 2 Oct 2023 17:31:47 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229906AbjJCAbm (ORCPT + 99 others); Mon, 2 Oct 2023 20:31:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42040 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229789AbjJCAbm (ORCPT ); Mon, 2 Oct 2023 20:31:42 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6EE77A9 for ; Mon, 2 Oct 2023 17:31:37 -0700 (PDT) Received: from [192.168.2.166] (109-252-153-31.dynamic.spd-mgts.ru [109.252.153.31]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dmitry.osipenko) by madras.collabora.co.uk (Postfix) with ESMTPSA id 8C79A66072AF; Tue, 3 Oct 2023 01:31:34 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1696293095; bh=Q7Lly/fabU+asTB6nUOlm3sUI4Epx0pqEjs+/1oqAuU=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=IMSXJglYchP3I2/mWfSU5Q+ooRhU8A5AB8g7x0nSbkr0nH/NI4StYIJsR3KQdxkmT QwfA+ci9dNhpMZM5YKMRfY3cO7oI6jpydqj473pyh4gnB6wEcjOyfPbRRcuFus8MN8 Y5jK12LehhxBi3gnz8ug2q1jpF4OQp1PPF647zgrXoCKl1Kdua2fC5SD/NyrqF2xGl 7pkA4KnlPUUbZzJR9I24uCo/pYg7G6bpokYPlhq1qbCb/Q4i+2jqiUqKz9k37VpAkj lHqww54SrVncjgJ4Fauuk0aABMIlAvKX7VieJ78jJD5HUlENvU0Xr/lolJRvMMkitX kTJMrNOcKg0Mg== Message-ID: Date: Tue, 3 Oct 2023 03:31:32 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v17 13/18] drm/shmem-helper: Add memory shrinker Content-Language: en-US To: Boris Brezillon Cc: David Airlie , Gerd Hoffmann , Gurchetan Singh , Chia-I Wu , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , =?UTF-8?Q?Christian_K=c3=b6nig?= , Qiang Yu , Steven Price , Emma Anholt , Melissa Wen , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@collabora.com, virtualization@lists.linux-foundation.org References: <20230914232721.408581-1-dmitry.osipenko@collabora.com> <20230914232721.408581-14-dmitry.osipenko@collabora.com> <20230915104633.0d5c3932@collabora.com> <454c464e-4534-7ec3-6d38-49b7df83c7be@collabora.com> <20230926093517.11a172ad@collabora.com> From: Dmitry Osipenko In-Reply-To: <20230926093517.11a172ad@collabora.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Mon, 02 Oct 2023 17:31:47 -0700 (PDT) On 9/26/23 10:35, Boris Brezillon wrote: >>>> + __drm_gem_shmem_release_pages(shmem); >>> Make sure you drop the implicit pages_use_count ref the sgt had, this >>> way you can still tie the necessity to drop the pages to sgt != NULL in >>> drm_gem_shmem_free(). >> This will require further refcnt re-initialization when pages are >> restored if it's dropped to zero. I don't see how this will improve >> anything. > Sorry to disagree, but I do think it matters to have a clear ownership > model, and if I look at the code (drm_gem_shmem_get_pages_sgt_locked()), > the sgt clearly owns a reference to the pages it points to. It creates too much unnecessary trouble because, again, pages_use_count can't drop to zero easily. Shrinker doesn't own the refcnt and not allowed to touch it. The pages_use_count is then used by things like mmap() and etc that use get_pages(), which can be invoked for evicted GEM. I'd prefer to keep refcounting as is, don't see how to implement your suggestion. Will be happy to help with reviewing and testing patches made on top of this series ;) -- Best regards, Dmitry