Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jan 2018 12:36:55 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        Adrian Chadd <adrian.chadd@gmail.com>, blubee blubeeme <gurenchan@gmail.com>, FreeBSD current <freebsd-current@freebsd.org>
Subject:   Re: Programmatically cache line
Message-ID:  <20180101103655.GF1684@kib.kiev.ua>
In-Reply-To: <08038E36-9679-4286-9083-FCEDD637ADCC@FreeBSD.org>
References:  <CALM2mEmWYz5nyqvxMJwMWoFOXnDTvWFrEug7UUha6xe7Um6ODw@mail.gmail.com> <20171230082812.GL1684@kib.kiev.ua> <CAJ-VmomxGJsn8eOtWoqevdW-spUPgcSGKEc7eR4xuXLP-E1XRA@mail.gmail.com> <08038E36-9679-4286-9083-FCEDD637ADCC@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

On Mon, Jan 01, 2018 at 06:52:37AM +0000, David Chisnall wrote:
> On 1 Jan 2018, at 05:09, Adrian Chadd <adrian.chadd@gmail.com> wrote:
> > 
> > On 30 December 2017 at 00:28, Konstantin Belousov <kostikbel@gmail.com> 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.



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180101103655.GF1684>