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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E7013C433FE for ; Thu, 30 Sep 2021 10:08:05 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 A80046115A for ; Thu, 30 Sep 2021 10:08:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A80046115A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bmvnuz6cCRDZK8FUhwi2zy+UiFn/8gylJjfToIHZ+zQ=; b=M4F2IAjNccaiLW MCyS27je8AYpvGPcg9hops6Vozyhcz/q1A30frr2kJSr/JCDCPMOArYS5zQRpwH7aA5PuWvDEpbBv 4YwnKvcZhjtK+HLpwnnpRBKRSaeK8cFL7IJeSOJ9b5QuT7WeGQGN0cM3lxH9spOB/gErcQbVXo3+A nDTC96JFbnbGeYqBH/fS4sQneN6xIeEq7AfiPv06+0M6f5BcI21af1IrnOdiTD7WpbhAvFygMnp5Y +t96eLh0S9404UkX5T+VeUNl3SSm0/JYYJZVsgy6H4uNnZGcR1pSVm+kYLqPh+nXNFyKC1cbPlEBU y52E6MJJ0iVfrXJ9U0wA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVswe-00Diqx-Ck; Thu, 30 Sep 2021 10:05:41 +0000 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVswY-00DipT-Gf for linux-arm-kernel@lists.infradead.org; Thu, 30 Sep 2021 10:05:35 +0000 Received: by mail-pf1-x429.google.com with SMTP id g2so4531558pfc.6 for ; Thu, 30 Sep 2021 03:05:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tUCu93B1vpXOt7rVT/VHSEoF5/1bf9+fBEaKI0gkxts=; b=frK6mzU85ZlJgrbQyDP5MR6HkaDdlSc5oWEvc1hMs4/CwyQEqeJoalPGX+A6+szh3I eL5LwgF0yD4HTYn32Zzh9cb64UOH1QwYoPshrX7CRRiAxeSZ6ItMAEIj5DHUEfNfY2Sq IgWrBo0vtDPK2TorEPYquYMigT+ujOgNjtciA+Pzut1J2qWdPmMBvfVOvwOPBtQ9BQ72 dmTe7B97D5nNx0rhPVL98ojMyUuDifYRXuU/RmQoT9+wanpvZRX8ElWvD/Mc9rsABjCs gJQJPOqleg8+/pi/Trh31rQUg4KjOHTenOTIgooDowza8Kxds2Yj2dxMMnuuvxp/ZxyX EwWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tUCu93B1vpXOt7rVT/VHSEoF5/1bf9+fBEaKI0gkxts=; b=wo+8Sr+g0KSKY+ibvEVEEQ0XF/4DJ1SARibGp7SsCCuFVr1wAdaoG8JaYkc9BpszpB QJPl96wMd5nfphcScFRrab9wP6GDHOV/UZO9NutLPU1pCNmr+bYw1gSTZDN/E5NhF7U3 3sfsQZA8wyBi1DrZiCt5YBhAWWxCK0+qak6Da0bLJ+3B5s1VoF4s7yAM5PuUIkTP1B/A y7uARcgmxPgxyMZ11Oa3ooOIYu3hRvkBsV2TnspSkZJGr37DSXqz31uPhO1t4Y8keUua f6AOogFGkeIPl7SFcxt4MxJTAlkzgb1qbitIaTcYzEeL378SKddRX7S2nB0GUJZe6A3O ui4Q== X-Gm-Message-State: AOAM533IBdWs4qZukc4C21dmUAqVDTgDRtKTt+aYwJaZZktriYpPcOt1 /xyhvS3uRhJIQjB2RIsTRzo= X-Google-Smtp-Source: ABdhPJxLpBoDLentgowSq7BYVkZbWr8XcA59pOS1I/wl7T+PKz6q2YUwlz95jj+3g9bSzgrzAod7ww== X-Received: by 2002:a63:131f:: with SMTP id i31mr4178307pgl.207.1632996333691; Thu, 30 Sep 2021 03:05:33 -0700 (PDT) Received: from baohua-VirtualBox.localdomain (203-173-222-16.dialup.ihug.co.nz. [203.173.222.16]) by smtp.gmail.com with ESMTPSA id 130sm2568262pfz.77.2021.09.30.03.05.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Sep 2021 03:05:32 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: alex.kogan@oracle.com Cc: arnd@arndb.de, bp@alien8.de, daniel.m.jordan@oracle.com, dave.dice@oracle.com, guohanjun@huawei.com, hpa@zytor.com, jglauber@marvell.com, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux@armlinux.org.uk, longman@redhat.com, mingo@redhat.com, peterz@infradead.org, steven.sistare@oracle.com, tglx@linutronix.de, will.deacon@arm.com, x86@kernel.org Subject: Re: [PATCH v15 3/6] locking/qspinlock: Introduce CNA into the slow path of qspinlock Date: Thu, 30 Sep 2021 18:05:14 +0800 Message-Id: <20210930100514.10121-1-21cnbao@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210514200743.3026725-4-alex.kogan@oracle.com> References: <20210514200743.3026725-4-alex.kogan@oracle.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210930_030534_614584_0F82AAFA X-CRM114-Status: GOOD ( 11.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > +/* > + * Implement a NUMA-aware version of MCS (aka CNA, or compact NUMA-aware lock). > + * > + * In CNA, spinning threads are organized in two queues, a primary queue for > + * threads running on the same NUMA node as the current lock holder, and a > + * secondary queue for threads running on other nodes. Schematically, it > + * looks like this: > + * > + * cna_node > + * +----------+ +--------+ +--------+ > + * |mcs:next | --> |mcs:next| --> ... |mcs:next| --> NULL [Primary queue] > + * |mcs:locked| -. +--------+ +--------+ > + * +----------+ | > + * `----------------------. > + * v > + * +--------+ +--------+ > + * |mcs:next| --> ... |mcs:next| [Secondary queue] > + * +--------+ +--------+ > + * ^ | > + * `--------------------' > + * probably not only related with NUMA, it might be also related with cache topology. For example, one NUMA might has a couple of sub domains, each domain shares some last level cache. ZEN, Power and some ARM servers all have this kind of topology. lock synchronization within this smaller range should be much faster. anyway, it looks like a good start to be aware of numa only for this moment. Thanks barry _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel