Из руководства AMD (около 2005 г.), том 2: Системное программирование:
5.4 Поля ввода таблицы перевода страниц
...
Dirty (D) Bit. Bit 6.<br>
This bit is only present in the lowest level of the page-translation hierarchy. It indicates whether the pagetranslation table or physical page to which this entry points has been written. The D bit is set to 1 by the processor the first time there is a write to the physical page.
То же от Intel (около 2006 г.), том 3-A: Руководство по системному программированию, часть 1:
3.7.6 Записи каталога страниц и таблицы страниц
...
Dirty (D) flag, bit 6<br>
Indicates whether a page has been written to when set. (This flag is not used in page-directory entries that point to page tables.) Memory management software typically clears this flag when a page is initially loaded into physical memory. The processor then sets this flag the first time a page is accessed for a write operation.
UPDATE
Из последней инструкции Intel (том 3A, Руководство по системному программированию):
8.1.2.1 Automatic Locking<br>
The operations on which the processor automatically follows the LOCK semantics are as follows:<br>
...<br>
When updating page-directory and page-table entries —<br>
When updating page-directory and page-table entries, the processor uses locked cycles to set the accessed and dirty flag in the page-directory and page-table entries.
Из остальной части текста в разделах 8.1 и 8.2 следует, что, как только ЦПУ установит «грязный» бит, используя заблокированную операцию, другие ЦП должны начать видеть обновленное значение.
Конечно, у вас может быть состояние состязания, когда вы сначала читаете грязный бит как 0 на одном ЦП (или в одном из его потоков), а позже другой ЦП (или другой поток на том же ЦП) вызывает этот бит установить в 1, но это не является чем-то необычным.