Thread safety of pmemobj_tx_alloc

48 views
Skip to first unread message

Mofo

unread,
Mar 13, 2024, 5:35:03 PMMar 13
to pmem
Hi there,
I was wondering what sort of thread-safety guarantees does the transactional API give when allocating persistent memory dynamically. Specifically I would like to know what happens if concurrent threads attempt to allocate from the persistent heap with tx_alloc (and not from their thread-exclusive cache, i.e. it's ran out or the allocation exceeds what is available in the cache). The programming persistent memory book doesn't detail if transactional dynamic allocation is thread-safe or not. 

So are transactions aborted if multiple threads try to allocate from the heap or will they automatically retry/wait like the normal allocation? I'm creating an STM system on top of pmemobj by extending the transactions, so any guidance is appreciated, thank you.
Reply all
Reply to author
Forward
0 new messages