Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-23 Thread Sergey Fedorov
On 21/05/16 05:48, Emilio G. Cota wrote: > On Sat, May 21, 2016 at 01:13:20 +0300, Sergey Fedorov wrote: >> Although the API is mostly intuitive some kernel-doc-style comments >> wouldn’t hurt, I think. ;-) > The nit that bothered me is the "external lock needed" bit, but it's > removed by the subs

Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-22 Thread Emilio G. Cota
On Sun, May 22, 2016 at 09:01:59 +0100, Alex Bennée wrote: > Emilio G. Cota writes: > > A small update: I just got rid of all the atomic_read/set's that > > apply to the hashes, since retries will take care of possible races. > > I guess the potential hash-clash from a partially read or set hash

Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-22 Thread Alex Bennée
Emilio G. Cota writes: > On Fri, May 20, 2016 at 22:48:11 -0400, Emilio G. Cota wrote: >> On Sat, May 21, 2016 at 01:13:20 +0300, Sergey Fedorov wrote: >> > > +static inline >> > > +void *qht_do_lookup(struct qht_bucket *head, qht_lookup_func_t func, >> > > +const void *userp

Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-21 Thread Sergey Fedorov
On 21/05/16 05:48, Emilio G. Cota wrote: > Thanks for taking a look! If you have time, please check patch 13 out. > That patch should eventually be merged onto this one. Actually, I was reviewing the final code with all the series applied :) I'd like to spend some time and review all the series in

Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-21 Thread Emilio G. Cota
On Fri, May 20, 2016 at 22:48:11 -0400, Emilio G. Cota wrote: > On Sat, May 21, 2016 at 01:13:20 +0300, Sergey Fedorov wrote: > > > +static inline > > > +void *qht_do_lookup(struct qht_bucket *head, qht_lookup_func_t func, > > > +const void *userp, uint32_t hash) > > > +{ > > >

Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-20 Thread Emilio G. Cota
Hi Sergey, Any 'Ack' below means the change has made it to my tree. On Sat, May 21, 2016 at 01:13:20 +0300, Sergey Fedorov wrote: > > +#include "qemu/osdep.h" > > +#include "qemu-common.h" > > There's no need in qemu-common.h Ack > > +#include "qemu/seqlock.h" > > +#include "qemu/qdist.h" > >

Re: [Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-20 Thread Sergey Fedorov
Wow, that's really great stuff! On 14/05/16 06:34, Emilio G. Cota wrote: > diff --git a/include/qemu/qht.h b/include/qemu/qht.h > new file mode 100644 > index 000..c2ab8b8 > --- /dev/null > +++ b/include/qemu/qht.h > @@ -0,0 +1,66 @@ > +/* > + * Copyright (C) 2016, Emilio G. Cota > + * > + *

[Qemu-devel] [PATCH v5 12/18] qht: QEMU's fast, resizable and scalable Hash Table

2016-05-13 Thread Emilio G. Cota
This is a fast, scalable chained hash table with optional auto-resizing, allowing reads that are concurrent with reads, and reads/writes that are concurrent with writes to separate buckets. A hash table with these features will be necessary for the scalability of the ongoing MTTCG work; before th