"Maciej W. Rozycki" wrote: > > On Mon, 13 Aug 2001, Gleb O. Raiko wrote: > > > DBE is treated as ACK* on write. Some HW design manuals advise to use > > this fact even. > > And what is the use of ACK*? Acknowledge. It's used to indicate current transaction has been processed successfully. If you are interested in details, I would suggest you read a MIPS hardware manual, for example, IDT's one. The most intriguing feature is: "Write transactions terminated by BusError* do not require the assertion of Ack*. BusError* can be asserted at at any time the processor is looking for Ack* to be asserted, up to and including the cycle in which the memory system does signal Ack*." > > Note that that the state of the CPU at the moment of a write is > completely unrelated to the action that triggered the write. Therefore > any reporting of a write failure is hardly useful -- possibly as a kind of > an MCE only, i.e. report the event and kill the current process or panic > if none. I consider external signaling of write failures may be useful for kernel debugging purposes. I agree it's hard (or even impossible) to achieve proper behaviour on write failures for user space. There is a small chance to kill another process, for example, write transactions may delay due to write buffer. So, the kernel may only print something. Regards, Gleb.