[PATCH] D134396: [OpenMP][libomptarget] New plugin infrastructure and new CUDA plugin

Jon Chesterfield via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 23 23:47:33 PDT 2022


JonChesterfield added a comment.

I haven't reviewed this but the following comment stuck out:

> where some threads may be consulting an already inserted ELFObjectFile (without holding the map lock) while another potential thread may be inserting a new one (with the lock acquired).

It's never safe to have one thread reading from a hashtable while another writes to it. Even if the keys were always different there is table resizing and hash collisions to worry about.

Either we could use a persistent structure and CAS the new one in place (bit unusual for this codebase) or a single writer multi reader lock, such that multiple readers can make progress at a time but the whole world grinds to a halt for each writer.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D134396/new/

https://reviews.llvm.org/D134396



More information about the llvm-commits mailing list