Hello..
Transactional Memory Everywhere: I/O Operations
One can execute I/O operations within a lock-based critical section,
and, at least in principle, from within an RCU read-side critical
section. What happens when you attempt to execute an I/O operation from
within a transaction?
The underlying problem is that transactions may be rolled back, for
example, due to conflicts. Roughly speaking, this requires that all
operations within any given transaction be idempotent, so that executing
the operation twice has the same effect as executing it once.
Unfortunately, I/O is in general the prototypical non-idempotent
operation, making it difficult to include general I/O operations in
transactions.
Read more here:
https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/Answers/TransactionalMemoryEverywhere/IO.html
Thank you,
Amine Moulay Ramdane.