LINUX.ORG.RU

История изменений

Исправление one_more_hokum, (текущая версия) :

If an Store-Exclusive instruction performs the store, it writes 0 to its destination register. If it does not perform the store, it writes 1 to its destination register. If the Store-Exclusive instruction writes 0 to the destination register, it is guaranteed that no other process in the system has accessed the memory location between the Load-exclusive and Store-Exclusive instructions.

Что в переводе значит: «Если инструкция Store-Exclusive выгрузила данные, она запишет 0 в регистр результата. Если выгрузка данных не произведена, в регистр результата запишется 1. В случае нуля в регистре результата гарантируется, что ни один прочий процесс/поток в системе не производил доступ к участку памяти, в который производится выгрузка, между выполнением инструкций Load-exclusive и Store-Exclusive».

Это я к тому, что читать тоже умею, но вот как именно ядро опознаёт факт доступа другого процесса/потока к участку памяти, на который сказали Load-exclusive — я не нашёл.

Исходная версия one_more_hokum, :

If an Store-Exclusive instruction performs the store, it writes 0 to its destination register. If it does not perform the store, it writes 1 to its destination register. If the Store-Exclusive instruction writes 0 to the destination register, it is guaranteed that no other process in the system has accessed the memory location between the Load-exclusive and Store-Exclusive instructions.

Что в переводе значит: «Если инструкция Store-Exclusive выгружает данные, она запишет 0 в регистр результата. Если выгрузка данных не произведена, в регистр результата запишется 1. В случае нуля в регистре результата гарантируется, что ни один прочий процесс/поток в системе не производил доступ к участку памяти, в который производится выгрузка, между выполнением инструкций Load-exclusive и Store-Exclusive».

Это я к тому, что читать тоже умею, но вот как именно ядро опознаёт факт доступа другого процесса/потока к участку памяти, на который сказали Load-exclusive — я не нашёл.