continuing the question in why is boost lockfree freelist size is limited to a maximum of 65535 objects?
How to increase the size of the queue in case of 64 bit machine.
typedef boost::lockfree::queue<int, boost::lockfree::fixed_size<true>> MyQueue;
MyQueue queue(1024*100); << how to increase the size to more than 65534?
Boost implementation adds extra tag bits to the queue item to avoid the ABA problem. Currently it uses 32 bits value (16 bits for pointer and 16 bits for tag).
How can i change it to use 64 bit value (32 bits for pointer and 32 bits for tag)?
is it enough to change the tagged_index::tag_t and index_t to ba based in unin32_t?