[Date Prev][Date Next]
Re: (ITS#8976) LMDB > use posix_madvise(3) instead of madvise(3) for SmartOS
On Fri, Feb 15, 2019 at 3:56 PM Howard Chu <firstname.lastname@example.org> wrote:
> email@example.com wrote:
> > Full_Name: Matthieu Guegan
> > Version: current
> > OS: SmartOS
> > URL:
> > Submission from: (NULL) (220.127.116.11)
> > Hi,
> > In order to compile knot on SmartOS, I have done a series of little patches.
> > One of them is linked to the LMDB project, which redirects me here.
> > The idea is to tell SmartOS (and I think the SunOS family) to make use of
> > posix_madvise(3), instead of madvise(3) as implementation on this OS is
> > different than, for example, the Linux one.
> > So, I kindly ask you to take a look at the merge request of the knot project,
> > in particular the `src/contrib/lmdb/mdb.c` patch (that's just a ifdef
> > modification) : would it be possible to apply this patch directly in this
> > repository ?
> I see no functional difference between your references  and .
> What is the benefit of this patch?
Well, the Solaris/SunOS's madvise(3) is defined with an old `caddr_t`
type whereas Linux (and *BSD OSes too) use a more modern approach with
On the `knot` project, which embed the lmdb part of openldap,
compilation failed when using madvise(3) on SmartOS, so I did a
replacement with posix_madvise(3) which uses the `void *` argument
I don't know what's the best way to handle this case, that's why I ask here.
> > Thanks
> >  https://www.knot-dns.cz/
> >  https://docs.oracle.com/cd/E36784_01/html/E36874/madvise-3c.html
> >  http://man7.org/linux/man-pages/man2/madvise.2.html
> >  https://gitlab.labs.nic.cz/knot/knot-dns/merge_requests/979/diffs?commit_id=64cd2cfdb76d7299beb5a5561bc65162c2ec8a06
> -- Howard Chu
> CTO, Symas Corp. http://www.symas.com
> Director, Highland Sun http://highlandsun.com/hyc/
> Chief Architect, OpenLDAP http://www.openldap.org/project/