|
From: Derek B. <bru...@go...> - 2019-09-18 19:43:47
|
On Mon, Feb 11, 2019 at 12:01 PM 'Kevin Malachowski' via DynamoRIO Devs < dyn...@go...> wrote: > Last year a commit was made to the linux > kernel introducing “Restartable Sequences” (aka rseq), a low-level > synchronization primitive for doing lockless per-CPU work. ... assuming it affects more than us, we figured we could try and come up > with a > solution that works well for everyone. > DynamoRIO has implemented a "run twice" solution to support this rseq kernel feature. It is a thorny problem to solve and we have documented the problems and our solutions at https://github.com/DynamoRIO/dynamorio/wiki/Restartable-Sequences <https://github.com/DynamoRIO/dynamorio/wiki/Restartable-Sequences>. We had to rely on application conventions (also being pushed by the rseq library writers) and limit the scope of what is supported in order to arrive at a workable solution. When Valgrind tackles this problem we would be interested in hearing about it, including any alternative solutions. - Derek |