Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp5886478rwr; Mon, 24 Apr 2023 10:17:31 -0700 (PDT) X-Google-Smtp-Source: AKy350a5bLfivCPKRz0+wka6AqQLCVAewzS6LNaWeWDnEURGPZedWlBUC0eHpwzstyAav7nZS3KN X-Received: by 2002:a05:6a20:548d:b0:f5:39bd:3023 with SMTP id i13-20020a056a20548d00b000f539bd3023mr5520145pzk.26.1682356650972; Mon, 24 Apr 2023 10:17:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682356650; cv=none; d=google.com; s=arc-20160816; b=XIObnR4E6X/NohmCU5ueGEqy9N9D3e6XP9EVueaBqtF2FyDUv6kjtTZWo3/kD2tb3v bOc4vs2MF5pudP3beawv/mXyEYNza1W3FVt+2Ry7Pou2T47m59A8NMBhz5RX5V5y8UkN SXu2cD3YhVczajdMA42AWlsCa6rquOhXCUqOdddTbWOoC/Pv6oYbFRNvTBlOYvDVL++5 tN7V7dpNHohUHeY9z90oBgZ8bMC/lj0d8w8i6/kubNUBJ2tS9RmybjOG3Y3Qf2ozH1rN i01+ZHHyEyuDmqBk84ckx2W68elgj4dNqsHtxsPIHlpzFs8hMVRbapd46ytGmQVoxDkX fVmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=GFrKoxBHGprwgkyWOKkqPAUbe8SAzISHnkMGiiR8Aro=; b=uty1i4csdRy7c4gBo3JnZFrRNNY65OWG2xBmo5XR0LxV87uJ75beKEGhoiFI80BirS lJcZo+On0CZgsdqwkTiYGK/SIn4G97nWjCbp0o2dngDRTuQZ4ELZ4Wh3+XAI6ngbvwuv k61JIG76FtDt630wzT0PcDYnLjJL7I/a9aURZVS7LZjiQ2qaXOT/WlY53kQIT6bQstzm rFmsZQlcOxskgLVITsLi6C3dEx2jysp7JIEx9sB6hIvarYogJb/CqER0QTPrdhPftGXM X5dVLkd7bdy7CEY4QMSnmUdvWZocZFoBjvbf6pevL7I+qem7QeSzV7/sWonBnSsQh+hO Fiiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=UfBxvwVK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q36-20020a63f964000000b00512fab8c401si11267542pgk.427.2023.04.24.10.17.17; Mon, 24 Apr 2023 10:17:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=UfBxvwVK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231705AbjDXRQt (ORCPT + 99 others); Mon, 24 Apr 2023 13:16:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231364AbjDXRQr (ORCPT ); Mon, 24 Apr 2023 13:16:47 -0400 Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 410786187 for ; Mon, 24 Apr 2023 10:16:46 -0700 (PDT) Received: by mail-qt1-x834.google.com with SMTP id d75a77b69052e-3f0a2f8216fso209121cf.0 for ; Mon, 24 Apr 2023 10:16:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1682356605; x=1684948605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=GFrKoxBHGprwgkyWOKkqPAUbe8SAzISHnkMGiiR8Aro=; b=UfBxvwVKYODQclpyyYmaFw+7g6vxWtp7h7eOLJzSO+Z4ZTIFraL2+ZKsSs2aXXuwsh HbDf5lyhZa88b5+PXxEI3xiuHA63r0DZqaOTUAqjEiIyw3u7d736t+fN1KOyOsXqKSIA 8X2Inx/COF34us2GlZKK5Cq3jAC6buT8baXyjzFdKs6GK//FxdZnoqKt3AevOqfjcddu LL0kCTlD6IvZg2NLITGh0pBzvgbkj8R0+iJtApNuZe+MvXkMU3T07tEhupSemhWHOECT MHOXbbv5i4QMRJGaUVdL+h3BdxuFWUXKUd9nXpgbJQoa3sgZX7tViIMGFDFh0eeD47kC nrlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682356605; x=1684948605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GFrKoxBHGprwgkyWOKkqPAUbe8SAzISHnkMGiiR8Aro=; b=kU+01STjzdxJpX1dcWdqbJ/MOH7AGBfEmg7Z+78T5ul4+182YZQ6m8P0jCld/781KM 0hNTrB747NjxzJbhGOPRELtxsim7Ca3ahby2AcSXNlrXZQR8rpMB9mKOB+rH5TlK3tmi zl09Yo6dG1QbexO6aR3rte5sWzRiRASsP+8GHv9mEbsnPahHzWAED2C8yZFR55NaSJ9K 2+p2rzozvW85iIeg1nPsiXWQy2hihw5fBjbb0i7tnZI3DAxyTY6LjFY/CEjvZICZCaz9 cLU+Ql8tML00MiXXVDQQlGjjkC1tsZGvHJaJBv2dOwNENa0Jd9EKcmM6Bhj7RKs/5SNu YuJA== X-Gm-Message-State: AAQBX9f1ALNUEX+fmnA+PovDhELgLfzaa8A5hsIYpiTySxh3SglfAKyX iek6Q3+2G8MEiaA3Seye2UJnMN/MG/EQRERx9egdDQ== X-Received: by 2002:a05:622a:1353:b0:3e3:8c75:461 with SMTP id w19-20020a05622a135300b003e38c750461mr2244qtk.6.1682356605323; Mon, 24 Apr 2023 10:16:45 -0700 (PDT) MIME-Version: 1.0 References: <20230421174020.2994750-1-yosryahmed@google.com> <20230421174020.2994750-2-yosryahmed@google.com> In-Reply-To: <20230421174020.2994750-2-yosryahmed@google.com> From: Shakeel Butt Date: Mon, 24 Apr 2023 10:16:34 -0700 Message-ID: Subject: Re: [PATCH v5 1/5] writeback: move wb_over_bg_thresh() call outside lock section To: Yosry Ahmed Cc: Alexander Viro , Christian Brauner , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Andrew Morton , Tejun Heo , Jan Kara , Jens Axboe , =?UTF-8?Q?Michal_Koutn=C3=BD?= , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable 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 Fri, Apr 21, 2023 at 10:40=E2=80=AFAM Yosry Ahmed wrote: > > wb_over_bg_thresh() calls mem_cgroup_wb_stats() which invokes an rstat > flush, which can be expensive on large systems. Currently, > wb_writeback() calls wb_over_bg_thresh() within a lock section, so we > have to do the rstat flush atomically. On systems with a lot of > cpus and/or cgroups, this can cause us to disable irqs for a long time, > potentially causing problems. > > Move the call to wb_over_bg_thresh() outside the lock section in > preparation to make the rstat flush in mem_cgroup_wb_stats() non-atomic. > The list_empty(&wb->work_list) check should be okay outside the lock > section of wb->list_lock as it is protected by a separate lock > (wb->work_lock), and wb_over_bg_thresh() doesn't seem like it is > modifying any of wb->b_* lists the wb->list_lock is protecting. > Also, the loop seems to be already releasing and reacquring the > lock, so this refactoring looks safe. > > Signed-off-by: Yosry Ahmed > Reviewed-by: Michal Koutn=C3=BD > Reviewed-by: Jan Kara Acked-by: Shakeel Butt