Hi Kristaps,
Kristaps Dzonsons wrote on Sat, Aug 09, 2014 at 01:51:36PM +0200:
> Small thing noticed in OSX:
>
> % /usr/local/bin/apropos find
> mmap: Invalid argument
>
> According to the Mac OSX manpage for mmap(2), this is because:
>
> [EINVAL] flags does not include either MAP_PRIVATE or MAP_SHARED.
Fixed in rc3.
That release candidate contains another fix for an issue
reported by Thomas Klausner: config.h was forgotten in
mansearch_const.c.
> It's easy enough to add a mmap_flags variable as MAP_ANON | blah and
> ifdef it to do one or the other. (I hesitate to say which, but am
> guessing MAP_PRIVATE since the page cache isn't (???) shared across
> processes.)
Well, even on OpenBSD the manual says that either MAP_PRIVATE or
MAP_SHARED is required, it just doesn't seem to be enforced by the
implementation, so i simply added MAP_SHARED like in all
three other places where we use mmap(2), for minimum disruption
for the release.
Now i do wonder why we use MAP_SHARED and not MAP_PRIVATE.
But that's a question for after release, i have taken a note
in the TODO file.
> In general, the section scares me--I vaguely guess at what's
> happening, but have no idea why.
Unfortunately, at one point, i accidentally deleted my gprof(1)
logs, but off the top of my head, i'm quite sure the point was
that without SQLITE_CONFIG_PAGECACHE, apropos(1) spends
considerable extra time, that is, about 10-25% of the total
time it needs, in malloc(3) and free(3) called from within
sqlite3_*() functions.
> So more pertinently than the bit-field would be to document
> this section! Ingo mentions the speed reduction in his talk
> (pg. 20, http://www.openbsd.org/papers/bsdcan14-mandoc.pdf),
> but not /why/ there's a speed reduction.
It scares you - you mean tedu@ might suspect exploit mitigation
countermeasures? That might be worth investigating, too.
While espie@ holds the chief SQLite developer in high esteem,
deraadt@ hates the code quality. Myself, i didn't form an
opinion on the SQLite code, yet.
But for this release, i'll keep the lid on that can of worms.
Yours,
Ingo
--
To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv