Fabian Franz

Results 88 comments of Fabian Franz

Just documenting possible solutions: - RCU with https://liburcu.org/ (Kernel support for sys_membarrier since 2015 / Linux 4.3.0) - Epoch -- no real library exists, but feels pretty suitable to our...

Actually there is a sequence we can use that should work for our data structures as long as we use our normal reference counting, which we use right now anyway:...

Ohhh right, that is the reason why the hazard pointer must not live in the data structure itself.

After studying several lockless schemes I agree that "pure" lockless is pretty difficult to achieve and has it's own drawbacks, but as you said it's a GC problem and we...

The theoretical read performance (read-only) of lockless is 0.3 vs. 1.5 seconds [current] in my benchmark with 21 (or 210) limited keys and a 50000 loop, therefore 5x faster. Using...

Nice! We would not necessarily tie the bucket locking to the original hashtable, but e.g. use 4k entries for locks, but 16k entries for entries. The hash table does not...

@nikic For BC compatibility would be use `shm.auto_scale_entries = 1` and default that to 0 or would we just scale that up automatically (if the var is not set) but...

What does that do anyway?

If we want to do that: Would it not be better to allow to create several apc_cache* structures and just use a class like Yac() to initialize those -- they...

Without knowing too much about the allocator: I think we can remove the lock() on the allocator by using a lock-less list using ATOMICs: - Items can be consumed from...