mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 15:25:01 +01:00
Prevent L1 cache line evicion in MPMC queue
This reduces cache coherence overhead of the queue
This commit is contained in:
parent
4484b60b13
commit
1eb6b82b9f
1 changed files with 7 additions and 2 deletions
|
|
@ -137,11 +137,16 @@ private:
|
|||
T _data;
|
||||
};
|
||||
|
||||
cell_t* _buffer;
|
||||
size_t _buffer_mask;
|
||||
typedef char cacheline_pad_t [64];
|
||||
|
||||
cacheline_pad_t _pad0;
|
||||
cell_t* _buffer;
|
||||
size_t _buffer_mask;
|
||||
cacheline_pad_t _pad1;
|
||||
GATOMIC_QUAL gint _enqueue_pos;
|
||||
cacheline_pad_t _pad2;
|
||||
GATOMIC_QUAL gint _dequeue_pos;
|
||||
cacheline_pad_t _pad3;
|
||||
};
|
||||
|
||||
} /* end namespace */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue