On 13.12.24 11:21, Alexey Kuznetsov wrote:
[Some people who received this message don't often get email from
alexey.n.kuznet...@gmail.com. Learn why this is important at
https://aka.ms/LearnAboutSenderIdentification ]
Hello!
Frankly, I would seriosly consider dropping off llist. It is just an opinion.
This braindead construct is a lie, it is _not_ lockless at all, it
uses the slowest possible
way of synchronization (cmpxchg) and still it has damn complicated set
of usage rules.
Personally I would never use it. Either crystal clear and not less
efficient dumb construct:
struct lockedlist {
spinlock_t lock;
struct hlist_head list;
}
or when I am ready to go berserk, something really lockless, without cmpxchg and
with full *mb() nightmare.
the *mb() Andrey pointed out is a leftover from a different thing not
related to llist.
There might be better options but llist was the way to do small steps
forward as requested. There are a lot of things that can be improved
besides lists. I will keep this in mind when doing qcow2.
--
Regards,
Alexander Atanasov
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel