Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp6287889ybf; Thu, 5 Mar 2020 17:20:12 -0800 (PST) X-Google-Smtp-Source: ADFU+vs05MrBgnvztuOXcE/N5ERt1xUqAOw/4E+zSVuB6zPl+P14AjFmsCujFv809OxnMiBi8xXA X-Received: by 2002:a05:6830:1245:: with SMTP id s5mr547445otp.43.1583457612698; Thu, 05 Mar 2020 17:20:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583457612; cv=none; d=google.com; s=arc-20160816; b=I5OMtfbBuAmhIaUYAfxfq/RmQEUd9lw7fl7lMmhs+cD1hqKmuLbOhRzNnBUmAgyCM3 wNFYELaxIY9secoc+xfgalH91xEHNOqVmfucUyECLUnLjhP/c/AYar+Np0vKeBQKGVuo c65uqpratSGl7omXhkuGJyafRtefCmR7mYQz0sEgCpeGbryAYSby2lPHso3bmnRmTQ8E MEh5Ko2IDH1JG5ZvCozODg9m2950PnaF8caQadTyGNIqdpEIA5ZtXfB8vYrzP+Gm79RX etwnomxTe9+FeS78D5e+VhiVtc+PTqnqF8Vc7dFgwQcUyzU172NPyRHqikXDwvHjyfFK GD9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=lHNl0Ai/7sXNY9V+qcgDGSXp7Q7ONREfCWa1aDNUtes=; b=Xhj1lZF1VwHaYk8Q3D3+Roy8a3j2AtXYsYOut8BXa4RaWSGt9bOuo4ER4ABEIy5XTW ssn1hMHCc+kRjVj3nLET175MqOg95CiTqDFslANsaCL6P3ti3o68fIWD3G4GbmAz66La 9m49E9+W9RKyQVHqUi6ApgmLbIs4gm5rFdS7gsD/8JNPlWq3SX23Hxj7z5SP6zwYNLbM ERMq3hp68cu+2NFCYSBo/1/LgJThBR0713Ns/7SbAajUxhb5EjFMSWOrW9V21gikgNkz L2jZyCcxnt2HwfJYXhz2kzbGZK4FcKU4Pa9TCQGFIEBm5s9xOgU7UxuXHhv8QfyRmpMR v3Pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=cL1FKifl; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t192si468237oih.98.2020.03.05.17.20.00; Thu, 05 Mar 2020 17:20:12 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=cL1FKifl; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726368AbgCFBTk (ORCPT + 99 others); Thu, 5 Mar 2020 20:19:40 -0500 Received: from mail-qt1-f196.google.com ([209.85.160.196]:46097 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726162AbgCFBTj (ORCPT ); Thu, 5 Mar 2020 20:19:39 -0500 Received: by mail-qt1-f196.google.com with SMTP id x21so578212qto.13 for ; Thu, 05 Mar 2020 17:19:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lHNl0Ai/7sXNY9V+qcgDGSXp7Q7ONREfCWa1aDNUtes=; b=cL1FKiflYP40AAQZDEDq9/xzxq2lNHeO/2nToYiRfhD+xA7zN5BVRjD4Obprj9XYty FvCbC+U+M++96k5N6Vn+mXx2gJuDWSrDvFdXsztuotCTmpNKhxdQ5KnWxoaN7T5bhfrp +5VkdtZgwnmYh/Upuz+XrjON7LBkMVV9monqk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lHNl0Ai/7sXNY9V+qcgDGSXp7Q7ONREfCWa1aDNUtes=; b=cd/X27/Hr7jTxZBkoAGm3YiShjWo5KskQiF35kaODkdH39Zu5U8hf92ADTz1LiRAwB oE67xg+Jo/Kt/dZoKL3lGDH8kGquy0bxeSD4h2BZZNRBXn5jLsVfs3vMG0HuHD7+JPsD GEDP0AzkqGBPAm90OjxUTjscINEmaNDg8pGd/tG+mcYlW/+zyMd3KDWCM9mn0oosAJas xhxHyzUV3Nfl5DsLM9NSY1Q/kTF4KGfTwQtzHKKJHBNz6gulBBs431yy1/m1P/bNX0kq J3B+NtCe4fJll+9kC5ExoENkLlXhqgd6FNdVBI4WB4x80h5vKlH92HwhCd6sUnuMdQOS o0jg== X-Gm-Message-State: ANhLgQ19Zm5EDjEAuKFV8JQLskxm45Zf3Ky+druVlM9R7b3DLjVk9IuK KyA5xcczpLHqK4odvErIxixrTiqt5ik= X-Received: by 2002:ac8:c09:: with SMTP id k9mr918206qti.241.1583457577550; Thu, 05 Mar 2020 17:19:37 -0800 (PST) Received: from joelaf.cam.corp.google.com ([2620:15c:6:12:9c46:e0da:efbf:69cc]) by smtp.gmail.com with ESMTPSA id j7sm4499370qkd.45.2020.03.05.17.19.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 17:19:37 -0800 (PST) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , surenb@google.com, =?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= , Christian Brauner , devel@driverdev.osuosl.org, Greg Kroah-Hartman , Martijn Coenen , Todd Kjos Subject: [RFC] ashmem: Fix ashmem shrinker nr_to_scan Date: Thu, 5 Mar 2020 20:19:30 -0500 Message-Id: <20200306011930.99378-1-joel@joelfernandes.org> X-Mailer: git-send-email 2.25.0.265.gbab2e86ba0-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org nr_to_scan is the number of pages to be freed however ashmem doesn't discount nr_to_scan correctly as it frees ranges. It should be discounting them by pages than by ranges. Correct the issue. Cc: surenb@google.com Signed-off-by: Joel Fernandes (Google) --- drivers/staging/android/ashmem.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c index 5891d0744a760..cb525ea6db98a 100644 --- a/drivers/staging/android/ashmem.c +++ b/drivers/staging/android/ashmem.c @@ -458,6 +458,8 @@ ashmem_shrink_scan(struct shrinker *shrink, struct shrink_control *sc) lru_del(range); freed += range_size(range); + sc->nr_to_scan -= range_size(range); + mutex_unlock(&ashmem_mutex); f->f_op->fallocate(f, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, @@ -467,7 +469,7 @@ ashmem_shrink_scan(struct shrinker *shrink, struct shrink_control *sc) wake_up_all(&ashmem_shrink_wait); if (!mutex_trylock(&ashmem_mutex)) goto out; - if (--sc->nr_to_scan <= 0) + if (sc->nr_to_scan <= 0) break; } mutex_unlock(&ashmem_mutex); -- 2.25.0.265.gbab2e86ba0-goog