Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Dec 2021 18:17:08 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        stable@freebsd.org
Subject:   Re: What is FreeBSD 12 equivalent to Linux' "sysctl -w vm.nr_hugepages=1280"?
Message-ID:  <Yc3bhKj%2BrcVXS%2BfT@kib.kiev.ua>
In-Reply-To: <Yc3Ww5auxhigef5n@elch.exwg.net>
References:  <431b35b0-7745-d2d7-ab04-bbf76e58608a@FreeBSD.org> <Yc3Ww5auxhigef5n@elch.exwg.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 30, 2021 at 04:56:51PM +0100, Christoph Moench-Tegeder wrote:
> ## Lev Serebryakov (lev@FreeBSD.org):
> 
> >   net-p2p/monero-cli shows a lot of exceptions on FreeBSD. Monero's
> > github [1] says, that it needs "sysctl -w vm.nr_hugepages=1280" on Linux.
> >   What is FreeBSD equivalent for this Linux' setting?
> 
> There is no equivalent setting on FreeBSD (as of yet), and there's
> no way to explicitely request huge pages (super pages, large pages,
> whatever you call them) on FreeBSD in the mmap()/shmget() interfaces
> (as there is in Linux) (there is MAP_ALIGNED_SUPER in FreeBSD to
> "maximize the potential use of large (“super”) pages", but from the
> desription alone that looks like slightly different semantics - and
> based on how I read those sementics, that randomX code in question
> should either have a fallback or avoid large pages on any BSD).

I have no idea what the referenced setting does on Linux.  Reply
below is about 'explicitly request large pages'. This is not true.

There is shm_create_largepages() function which returns fd referencing
shm segment.  This segment mappings are guaranteed to be backed by large
pages of the requested size.  More, you cannot split them into mappings
backed by smaller pages, so e.g. mprotect() or munmap() would only work
on the chosen superpage size boundary.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Yc3bhKj%2BrcVXS%2BfT>