From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F26E1C433ED for ; Thu, 1 Apr 2021 17:34:21 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id AB7F8613C5 for ; Thu, 1 Apr 2021 17:34:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AB7F8613C5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 054486E2D7; Thu, 1 Apr 2021 17:34:21 +0000 (UTC) Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by gabe.freedesktop.org (Postfix) with ESMTPS id 68D3E6E2D7; Thu, 1 Apr 2021 17:34:20 +0000 (UTC) Received: by mail-wr1-x42e.google.com with SMTP id c8so2585150wrq.11; Thu, 01 Apr 2021 10:34:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rK2LdS6ODAydJkNJDKUimZKMnsbdOM3cvA6asgW0c80=; b=fbPIbSHJtsRAZcXnsol7EI9DCaFJZ9nwvBGgXN7up6EJ+E7CAhF1Ocm4pX77zRlF+8 iKer8GP+EWclFlHSRplim3szwZeCqo9UrNPQK+ESFU3xZx/mVuM36sWFCBPU02kN8Uq0 DrqxAh9Yelt//O5VEqVWrdz94ICrGpecJ2+v7/UoVs3x95tlMaCNyEElnc+zC12GyHtt 3QOyMFLgzT9duhlCILmgOvPRQhwbHAQWQOicexLPIm89xw1ppK5cpSIp43+b9tOWE5kU GrihkfBolOIcGBgdosfKtjs1FoGncRGD0YlOxjPzUrt1qVQnOvspWi4etXScsO+R2xt6 rDug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rK2LdS6ODAydJkNJDKUimZKMnsbdOM3cvA6asgW0c80=; b=QWthwtX6M5YiIPdDgadLSRmCm83pUUfb2DDWa2WTPoXRWZB96zGHqtj6mJICMNwwHg b1ezDGMDiF9uNsAVwnNYMFPnSS9RMnyAQWAE2w+poocLWBt3sgYFltjIWkWWFasFdni4 8U4z837vJgURJleFcn7kf6ul9EvntZ9Teoec6GYLplbL/3V4iG5RQZyKSEhO2k323hQT bRxHtPMPoH3n1Ppsnsb4abc+WNyKHPAa6Ki1Npyt31TTOnM/gZRNkUPC9XV1tWdP8+Ou 9UJGce9lY6oaZ+mniK0QZ9juzdE/v4LRYUFU6leEzlJy+pXpQzX+658gnXlFb0GAJ4+u +TiQ== X-Gm-Message-State: AOAM532sqibhDSO1zUIXO5hUnyeYCedu+YMIuy8KbRdW9DxeSx37Dxjh /UXiJUhwiNUapMaBDTNTZQ4Wb/iAITJM7UpJGVE= X-Google-Smtp-Source: ABdhPJzTzb75Zq5lVKxlXsLtahJ+rLK1yT4ChASxTdyK4VvEYKWc/dOfoDSRkP8SuHFCh33/CUU6oLC581EOnJ+bucE= X-Received: by 2002:adf:fb42:: with SMTP id c2mr11041823wrs.83.1617298459053; Thu, 01 Apr 2021 10:34:19 -0700 (PDT) MIME-Version: 1.0 References: <20210331221630.488498-1-robdclark@gmail.com> <20210401012722.527712-1-robdclark@gmail.com> <20210401012722.527712-3-robdclark@gmail.com> In-Reply-To: From: Rob Clark Date: Thu, 1 Apr 2021 10:37:44 -0700 Message-ID: Subject: Re: [PATCH v2 2/4] drm/msm: Avoid mutex in shrinker_count() To: Doug Anderson 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: Rob Clark , "open list:DRM DRIVER FOR MSM ADRENO GPU" , David Airlie , "open list:DRM DRIVER FOR MSM ADRENO GPU" , open list , dri-devel , =?UTF-8?Q?Christian_K=C3=B6nig?= , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Sean Paul , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Apr 1, 2021 at 8:34 AM Doug Anderson wrote: > > Hi, > > On Wed, Mar 31, 2021 at 6:24 PM Rob Clark wrote: > > > > @@ -45,6 +30,9 @@ msm_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc) > > list_for_each_entry(msm_obj, &priv->inactive_dontneed, mm_list) { > > if (freed >= sc->nr_to_scan) > > break; > > + /* Use trylock, because we cannot block on a obj that > > + * might be trying to acquire mm_lock > > + */ > > nit: I thought the above multi-line commenting style was only for > "net" subsystem? we do use the "net" style a fair bit already.. (OTOH I tend to not really care what checkpatch says) > > if (!msm_gem_trylock(&msm_obj->base)) > > continue; > > if (is_purgeable(msm_obj)) { > > @@ -56,8 +44,11 @@ msm_gem_shrinker_scan(struct shrinker *shrinker, struct shrink_control *sc) > > > > mutex_unlock(&priv->mm_lock); > > > > - if (freed > 0) > > + if (freed > 0) { > > trace_msm_gem_purge(freed << PAGE_SHIFT); > > + } else { > > + return SHRINK_STOP; > > + } > > It probably doesn't matter, but I wonder if we should still be > returning SHRINK_STOP if we got any trylock failures. It could > possibly be worth returning 0 in that case? On the surface, you'd think that, but there be mm dragons.. we can hit shrinker from the submit path when the obj is locked already and we are trying to allocate backing pages. We don't want to tell vmscan to keep trying, because we'll keep failing to grab that objects lock > > > @@ -75,6 +66,9 @@ vmap_shrink(struct list_head *mm_list) > > unsigned unmapped = 0; > > > > list_for_each_entry(msm_obj, mm_list, mm_list) { > > + /* Use trylock, because we cannot block on a obj that > > + * might be trying to acquire mm_lock > > + */ > > If you end up changing the commenting style above, should also be here. > > At this point this seems fine to land to me. Though I'm not an expert > on every interaction in this code, I've spent enough time starting at > it that I'm comfortable with: > > Reviewed-by: Douglas Anderson thanks BR, -R _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel