From owner-freebsd-current@freebsd.org Mon Jan 1 10:37:04 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84C37EA306E for ; Mon, 1 Jan 2018 10:37:04 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00B9F68101; Mon, 1 Jan 2018 10:37:03 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id w01AatWO047634 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 1 Jan 2018 12:36:58 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua w01AatWO047634 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id w01Aat7Z047633; Mon, 1 Jan 2018 12:36:55 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 1 Jan 2018 12:36:55 +0200 From: Konstantin Belousov To: David Chisnall Cc: Adrian Chadd , blubee blubeeme , FreeBSD current Subject: Re: Programmatically cache line Message-ID: <20180101103655.GF1684@kib.kiev.ua> References: <20171230082812.GL1684@kib.kiev.ua> <08038E36-9679-4286-9083-FCEDD637ADCC@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <08038E36-9679-4286-9083-FCEDD637ADCC@FreeBSD.org> User-Agent: Mutt/1.9.2 (2017-12-15) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jan 2018 10:37:04 -0000 On Mon, Jan 01, 2018 at 06:52:37AM +0000, David Chisnall wrote: > On 1 Jan 2018, at 05:09, Adrian Chadd wrote: > > > > On 30 December 2017 at 00:28, Konstantin Belousov wrote: > >> On Sat, Dec 30, 2017 at 07:50:19AM +0000, blubee blubeeme wrote: > >>> Is there some way to programmatically get the CPU cache line sizes on > >>> FreeBSD? > >> > >> There are, all of them are MD. > >> > >> On x86, the CPUID instruction leaf 0x1 returns the information in > >> %ebx register. > > > > Hm, weird. Why don't we extend sysctl to include this info? For the same reason we do not provide a sysctl to add two integers. > > It would be nice to expose this kind of information via VDSO or similar. There are a lot of similar bits of info that people want to use for ifunc and, SVE is going to have a bunch of similar requirements. > Is VDSO a new trendy word ? ifunc resolvers in usermode on FreeBSD/x86 get four arguments which are essentially cpu_features / cpu_features2 / cpu_stdext_features / cpu_stdext_features2. I suspect that only FreeBSD/x86 arches have the ifunc support, in rtld and coming shortly in kernel. Recently HW_CAP/HW_CAP2 were added to the ELF auxv, and elf_aux_info(3) interface exported from libc. ARM* did not implemented yet the ifunc stubs in rtld. I believe this is considered a low priority because there is no ready to use toolchain which allow to utilize ifuncs on FreeBSD, except if you use recent bfd ld externally.