From: Stephen Smalley <sds@tycho.nsa.gov>
To: John Brooks <john.brooks@jolla.com>
Cc: "selinux@tycho.nsa.gov" <selinux@tycho.nsa.gov>
Subject: Re: [PATCH 2/3] Use a better hash function for libsepol's avtab
Date: Tue, 13 Jan 2015 08:53:39 -0500 [thread overview]
Message-ID: <54B52363.9070309@tycho.nsa.gov> (raw)
In-Reply-To: <336D0B16-7046-4AA3-B002-B13877CBF3BC@jolla.com>
On 01/12/2015 08:38 PM, John Brooks wrote:
> On Jan 12, 2015, at 10:30 AM, Stephen Smalley <sds@tycho.nsa.gov> wrote:
>>
>> On 01/07/2015 05:03 PM, John Brooks wrote:
>>> This function, based on murmurhash3, has much better distribution than
>>> the original. Using the current default of 4096 buckets, there are many
>>> fewer collisions:
>>
>> Thanks, this looks like a significant improvement for neverallow
>> checking. I'm trying to make sure I understand what if any implications
>> it has for other uses of the avtab, since the neverallow checker is
>> unusual in that it fully expands all entries.
>>
>> On Fedora 20 policy, checkpolicy -Mb
>> /etc/selinux/targeted/policy/policy.29 before and after this patch (with
>> avtabh_hash_eval called) shows:
>>
>> before.txt:rules: 101401 entries and 8169/8192 buckets used, longest
>> chain length 84
>> betterhash.txt:rules: 101401 entries and 8192/8192 buckets used,
>> longest chain length 27
>>
>> So that's a definite improvement.
>>
>> Could you amend your code to define constants for the various magic
>> values used above? Thanks.
>
> The magic values are nothing but magic from the original murmurhash3. They don’t have any useful names. I did remove ‘c1’ and ‘c2’ in favor of using their values inline, since each is only used once. Is that enough?
>
> (Also, sorry for my last mail to this list; it was butchered by my mail client. Hopefully this one works.)
Not sure what source you are using for murmurhash3, but the algorithm
from http://en.wikipedia.org/wiki/MurmurHash seems to define and use
symbolic names for most of the constants. They aren't especially
meaningful but they help with readability, especially for the ones that
are used more than once in the algorithm.
next prev parent reply other threads:[~2015-01-13 13:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-07 22:03 [PATCH 0/3] Improve check_assertions performance through hash tweaks John Brooks
2015-01-07 22:03 ` [PATCH 1/3] Build libsepol with -O2 John Brooks
2015-01-12 17:01 ` Stephen Smalley
2015-01-07 22:03 ` [PATCH 2/3] Use a better hash function for libsepol's avtab John Brooks
2015-01-12 17:30 ` Stephen Smalley
2015-01-13 1:38 ` John Brooks
2015-01-13 13:53 ` Stephen Smalley [this message]
2015-01-07 22:03 ` [PATCH 3/3] Tweak avtab hash table parameters for better performance John Brooks
2015-01-12 17:47 ` Stephen Smalley
2015-01-12 17:55 ` Stephen Smalley
2015-01-12 20:07 ` Stephen Smalley
2015-01-13 1:25 ` John Brooks
2015-01-13 13:50 ` Stephen Smalley
2015-01-13 14:00 ` Stephen Smalley
2015-01-15 0:24 ` [PATCH v2 0/3] Improve check_assertions performance through hash tweaks John Brooks
2015-01-15 0:24 ` [PATCH v2 1/3] Build libsepol with -O2 John Brooks
2015-01-15 0:24 ` [PATCH v2 2/3] Use a better hash function for libsepol's avtab John Brooks
2015-01-15 0:24 ` [PATCH v2 3/3] Tweak avtab hash table parameters for better performance John Brooks
2015-01-15 18:56 ` [PATCH v2 0/3] Improve check_assertions performance through hash tweaks Stephen Smalley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54B52363.9070309@tycho.nsa.gov \
--to=sds@tycho.nsa.gov \
--cc=john.brooks@jolla.com \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.