From nobody Thu Nov 02 13:40:11 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SLlP80ltvz50M0f; Thu, 2 Nov 2023 13:40:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SLlP76Kg7z4PXk; Thu, 2 Nov 2023 13:40:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1698932411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AOUaIiOODv/AU0FT/ecWr4PeWecr6pTmxyjTTC34TqQ=; b=N4a2SMMEPJKcYPMMibm1I9v4xFMqON5NLH//Bqjn2uJvjnGfi3x+ostMeN3pjCiDq4lIjI ws2AgAA7UfWRd3aYT/iVaUuwUPGtrbm9dTAyPuujwP7qxGVkifLWjn0DrNTac1DxQSmtYp 1721ahH9nHGyUDD3YANeNuH92WIWo8b9HbDDPY5nONBbfZ+EC0qF2fsXa0Tx+ORp2HK05p xTBxcQFNhkCIFhE1aQZTBn9eozbdOikJGMFQkjD7VosXB0YCoZi8FBbSsNc1Hw1/TePHrS LQKs2aWiNIljeztSS5JSPmCx7pVFgn17Uu6aOplXhSWkdCZSJqy+ucN01PfaXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1698932411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AOUaIiOODv/AU0FT/ecWr4PeWecr6pTmxyjTTC34TqQ=; b=SiZua4OJcg0moktfWgSpyu28tcJl72zyJUoX+CM7VDwmwj01S3K2ATVzW5kt2YsXrTjVsl PhSf9hVFSz8LTZzE2SbgXlYWYTuMysbsY2uxQgn5SzVMsumn3+4RW5WMRYFI3JjdtH7DjW W7UzMOni2cjDhY0kN82sfI9eLvYN05g3gvEAULlI5SeZHn6OJet1HEIIFQUUqJehQewShG 4Mg0DL47iipIlce4aYUsXuM9zoDkOGRf1m/GbvMgh1HY0+czQNdIZgwwMge7qlM8Y/SWd3 IZiXyZeKa8idS8RmErQu2XuRU4c17qG6ZQgX+gECSkj5wNWrxJttzi+Lovnn7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1698932411; a=rsa-sha256; cv=none; b=jd3zrdp++pDufMtjr2yc1eXs/gVDEwtVvij3Au3FpBa2y//FBkkz3IdGrP+EiI25TxNxNT 3AP6dk6nG9TgftxjlhhUOlDKzxP+fHUvGetwXO1xOD2bgWjQ0FlGaS9u3m9IOISLu9dP4n /WiKdPs4figHvoeWkVfh38dsjxsb/Qo1irGX71OvhqYMAfIN3dF5dajV6GUqFxJWmHsvIG IypkzPOXmfp10dw8SaXJgKnPp3ZvOJwJnGFzh1zn3CjHvKt/YlYDBY7BlIuJcKv6uFcJcG cT0Q49ylAomWwGq6dGdYoxAmo4WFWMTy8V2LL6nONfxRpRiOc1J7FSr//MciFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SLlP75Ng7zWjk; Thu, 2 Nov 2023 13:40:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3A2DeBCj030536; Thu, 2 Nov 2023 13:40:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3A2DeBxu030525; Thu, 2 Nov 2023 13:40:11 GMT (envelope-from git) Date: Thu, 2 Nov 2023 13:40:11 GMT Message-Id: <202311021340.3A2DeBxu030525@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 733e0abd2897 - main - uma: Permit specifying max of cache line and some custom alignment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 733e0abd2897289e2acf70f7c72e31a5a560394a Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=733e0abd2897289e2acf70f7c72e31a5a560394a commit 733e0abd2897289e2acf70f7c72e31a5a560394a Author: Olivier Certner AuthorDate: 2023-10-13 15:05:34 +0000 Commit: Mark Johnston CommitDate: 2023-11-02 13:30:03 +0000 uma: Permit specifying max of cache line and some custom alignment To be used for structures for which we want to enforce that pointers to them have some number of lower bits always set to 0, while still ensuring we benefit from cache line alignment to avoid false sharing between structures and fields within the structures (provided they are properly ordered). First candidate consumer that comes to mind is 'struct thread', see next commit. Reviewed by: markj, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42265 --- sys/vm/uma.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 8193df16b904..38865df7ae02 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -302,6 +302,8 @@ uma_zone_t uma_zcache_create(const char *name, int size, uma_ctor ctor, #define UMA_ALIGN_SHORT (sizeof(short) - 1) /* "" short */ #define UMA_ALIGN_CHAR (sizeof(char) - 1) /* "" char */ #define UMA_ALIGN_CACHE (uma_get_cache_align_mask()) /* Cache line size align */ +/* Align both to cache line size and an explicit alignment (through mask). */ +#define UMA_ALIGN_CACHE_AND_MASK(mask) (uma_get_cache_align_mask() | (mask)) #define UMA_ALIGNOF(type) (_Alignof(type) - 1) /* Alignment fit for 'type' */ #define UMA_ANYDOMAIN -1 /* Special value for domain search. */