Hello, I have a question about the MESI protocol in appendix C.2. As said in C.2.1, the cache line in the shared state is up-to-date. And, C.2.2 says implicitly a writeback message is used to writeback a dirty cache line. Then in C.2.3 Transition (h) Shared->Exculsive, it says: Alternatively, all other CPUs eject this cache line from their caches via "writeback" messages (presumably to make room for other cache lines), so that this CPU is the last CPU caching it. As some CPUs share this cache line, it must be clean. I think other CPUs only need to discard the corresponding cache line in their cache without any additional operation when receiving a invalidate message. Why do they need to send a "writeback" message? Thanks, Hao Lee