Received: by 2002:a05:6358:16cd:b0:dc:6189:e246 with SMTP id r13csp1700905rwl; Fri, 4 Nov 2022 18:10:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4+Vnewdb6eXinLTMynES0km9wiwYsu4LUkgGplqgiate+yzNY8JVM2stwVYs6BXBQipu0M X-Received: by 2002:a17:907:a068:b0:7ad:956f:f13d with SMTP id ia8-20020a170907a06800b007ad956ff13dmr37334534ejc.643.1667610613137; Fri, 04 Nov 2022 18:10:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667610613; cv=none; d=google.com; s=arc-20160816; b=Y9uXACGA0jFj2hcwsQxzl7Dl7ofOS8VM4seWnZOeoL8ZOJjTXkr/9Sp3jloMMEqaeZ z47Fk/CwFlcE3RU7JZqLMnDnDtCJ4WsvkPvPJTiWxxIqNrXB8PUG8yxl1uQeVX9MTPEQ eFGldGINwnN4F+gVdRj8dg4GMnB9os8CiZywzSjr6y0xCaXmmOZmmIXJFlSKsYZuX1M0 WNJYCY37XGCNyPzde2YRrKBdsIFZZSMYJ0rmyq1d9ROrvRLYRqGmIJXpBdmjlnkoY2hh I1AK58ZgTNX8b87DR/LYCMsnHSPSN/dO1jKP2nZdXEe6I84loziR3neAv5A9d/hkX/5b 3QLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=CCZSaJ900ZMJsX6FSPePp5c1TELOc3F+zYif5LY5DHo=; b=zTJ1nHd8qJWoUNK1LnjFmLRvfPeLGv5ar0IbkRwsBg2SG7rUm/kdjvL5lRFaaYMsHP kcMxINErQBvf95Yi/Qy+ZGr8aRGPdXUDHJ5hGfRXkG1ElU9E01cc5KXwT+SeX5UTEjRP PVU8/bH3h0/T/aUNo+wIK12VPawd2pStsG9H+/Up2a8TLpbE4W46dSF8ym6Gh1pm+cAe Q6iucfFcA9yTHXHhtA3nibFXJBmlYvkUnXoFrkd8ZowCNNZ/tpi19Y8s5yRufQUNNJVu vhACkGD7AUSdxlyTcPwtJIOmoHgSS6TsNbf98D5hL8ttMKW1SXk5ADUxDfJkhJVgE4Mp ytWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=HLo3xYfH; 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=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qa44-20020a17090786ac00b0078b6559a610si767235ejc.12.2022.11.04.18.09.43; Fri, 04 Nov 2022 18:10:13 -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=@redhat.com header.s=mimecast20190719 header.b=HLo3xYfH; 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=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229479AbiKEBA0 (ORCPT + 99 others); Fri, 4 Nov 2022 21:00:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229445AbiKEBAY (ORCPT ); Fri, 4 Nov 2022 21:00:24 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DCE032B260 for ; Fri, 4 Nov 2022 17:59:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1667609965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=CCZSaJ900ZMJsX6FSPePp5c1TELOc3F+zYif5LY5DHo=; b=HLo3xYfH7MFfDKWhSY8QVN5rJ8ETrW6w3BJJ6MBVWGMssnVuK5tcJdXStpICq60U/pigO1 7wcuRDhuXnDAyyTwOaD2TxPmYwDH673Mb8Uj4R2lrkTmwYJDsPzqk3uJ2vqpbkbDxU7jUi OXozWix9JgkWcz+o9WmG6p5dR2GwQKc= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-404-zcCzqGJ5MpiGxNbhuAOwRA-1; Fri, 04 Nov 2022 20:59:21 -0400 X-MC-Unique: zcCzqGJ5MpiGxNbhuAOwRA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3F78985A583; Sat, 5 Nov 2022 00:59:21 +0000 (UTC) Received: from llong.com (unknown [10.22.16.12]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6A2242166B26; Sat, 5 Nov 2022 00:59:20 +0000 (UTC) From: Waiman Long To: Tejun Heo , Jens Axboe Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Ming Lei , Andy Shevchenko , Andrew Morton , =?UTF-8?q?Michal=20Koutn=C3=BD?= , Hillf Danton , Waiman Long Subject: [PATCH v10 0/3] blk-cgroup: Optimize blkcg_rstat_flush() Date: Fri, 4 Nov 2022 20:58:59 -0400 Message-Id: <20221105005902.407297-1-longman@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE 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 v10: - Update patch 3 to rename the rstat function to cgroup_rstat_css_cpu_flush(). v9: - Remove patch "llist: Allow optional sentinel node terminated lockless list" for now. This will be done as a follow-up patch. - Add a new lqueued field to blkg_iostat_set to store the status of whether lnode is in a lockless list. - Add a new patch 3 to speed up the freeing of blkcg by flushing out the rstat lockless lists at blkcg offline time. v8: - Update the llist patch to make existing llist functions and macros work for both NULL and sentinel terminated lockless list as much as possible and leave only the initialization and removal functions to have a sentinel terminated llist variants. This patch series improves blkcg_rstat_flush() performance by eliminating unnecessary blkg enumeration and flush operations for those blkg's and blkg_iostat_set's that haven't been updated since the last flush. Waiman Long (3): blk-cgroup: Return -ENOMEM directly in blkcg_css_alloc() error path blk-cgroup: Optimize blkcg_rstat_flush() blk-cgroup: Flush stats at blkgs destruction path block/blk-cgroup.c | 103 +++++++++++++++++++++++++++++++++++------ block/blk-cgroup.h | 10 ++++ include/linux/cgroup.h | 1 + kernel/cgroup/rstat.c | 20 ++++++++ 4 files changed, 119 insertions(+), 15 deletions(-) -- 2.31.1