@@ -101,14 +101,16 @@
* be grabbed first.
*/
struct qht_bucket {
+ struct {
+ QemuSeqLock sequence;
+ } QEMU_ALIGNED(QHT_BUCKET_ALIGN);
QemuSpin lock;
- QemuSeqLock sequence;
uint32_t hashes[QHT_BUCKET_ENTRIES];
void *pointers[QHT_BUCKET_ENTRIES];
struct qht_bucket *next;
} QEMU_ALIGNED(QHT_BUCKET_ALIGN);
So I tested my change above vs. master on a 16-core (32-way) Intel machine
(Xeon E5-2690 @ 2.90GHz with turbo-boost disabled), making sure threads are
scheduled on separate cores, favouring same-socket ones.
Results: http://imgur.com/a/c4dTB