Hi,
I wrote a small test program to see how long MWAITX sleeps in the case of write accesses to a monitored cache line.
I found that the instruction does not wake up at all when the write is not performed by a sibling thread.
In my opinion, this behavior contradicts what is stated in the AMD Architecture Programmer's Manual (Volume 3, it states that "A store from another processor matches the address range established by the MONITORX instruction" should cause a wakeup)
I saw this behavior on Zen2, Zen3, and Zen4c machines alike.
Changing the requested C-State does not influence this behavior at all.
I already contacted the customer support in this regard and was pointed to this forum here, hence the post.
Can anyone else confirm this behavior?