diff options
author | Russ Cox <rsc@swtch.com> | 2008-07-03 22:44:24 -0400 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2008-07-03 22:44:24 -0400 |
commit | ac5a97e6b3b136c1ab669ae19a813a81cce673eb (patch) | |
tree | 52f1196123644c409b85368eb300b020c0d7e16a /src/cmd/venti/srv/bloom.c | |
parent | cd87898f5db211b3485d8cad2c00ea356ca96361 (diff) | |
download | plan9port-ac5a97e6b3b136c1ab669ae19a813a81cce673eb.tar.gz plan9port-ac5a97e6b3b136c1ab669ae19a813a81cce673eb.tar.bz2 plan9port-ac5a97e6b3b136c1ab669ae19a813a81cce673eb.zip |
venti: reduce locking contention in buildindex
Diffstat (limited to 'src/cmd/venti/srv/bloom.c')
-rw-r--r-- | src/cmd/venti/srv/bloom.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/cmd/venti/srv/bloom.c b/src/cmd/venti/srv/bloom.c index 1db36bd9..ce146f6d 100644 --- a/src/cmd/venti/srv/bloom.c +++ b/src/cmd/venti/srv/bloom.c @@ -229,6 +229,22 @@ markbloomfilter(Bloom *b, u8int *score) runlock(&b->lk); } +void +markbloomfiltern(Bloom *b, u8int score[][20], int n) +{ + int i; + + if(b == nil || b->data == nil) + return; + + rlock(&b->lk); + qlock(&b->mod); + for(i=0; i<n; i++) + _markbloomfilter(b, score[i]); + qunlock(&b->mod); + runlock(&b->lk); +} + static void bloomwriteproc(void *v) { |