On 25/04/16 00:36, Richard Henderson wrote:
> On 04/22/2016 09:08 AM, Sergey Fedorov wrote:
>> When patching translated code for direct block chaining/unchaining,
>> modification of concurrently executing code can happen in multi-threaded
>> execution.  Currently only user-mode is affected. To make direct
>> block patching
>> safe, some care must be taken to make sure that the code modification
>> is made
>> atomically and concurrently executed code is guaranteed to be
>> consistent.
>>
>> This patch series fixes all supported TCG targets which use direct
>> patching and
>> documents the requirement for direct jump patching be atomic and
>> thread-safe.
>>
>> The series' tree can be found in a public git repository [1].
>>
>> [1]https://github.com/sergefdrv/qemu/tree/atomic-tb-patching-2
>>
>> Summary of changes in v2:
>>   * Take out mistakingly pulled patches [PATCH 01/11] and [PATCH 02/11]
>>   * Two new patches to add some handy macros for alignment
>>     [PATCH v2 01/11] and [PATCH v2 02/11]
>>   * Use new alignment macros instead of open-coding
>>   * Use i386 tcg_out_nopn() implementation suggested by Richard
>> Henderson;
>>     rework alignment checking and gap calculation in [PATCH v2 05/11]
>>   * Clean up reloc_pc24_atomic() in [PATCH v2 07/11]
>>   * Use tcg_debug_assert() instead of assert()
>>   * Use deposit32() in [PATCH v2 09/11]
>>   * s/atomic_write/atomic_set/ in [PATCH v2 10/11]
>>   * Minor rewording in [PATCH v2 11/11]
>
> Applied all to tcg-next.  I applied the mips one-liner follow-up at
> the same time.

Cool, thanks! :)

Kind regards,
Sergey

Reply via email to