(no title)
andikleen2 | 9 years ago
The transaction mechanism doesn't know in advance if it's a good or a bad page fault.
You would need to tell the operating system kernel that the page fault happened in a transaction, and let it ignore it if it was a bad page fault. That would be much more complicated than current TSX.
Also there are other cases were retries will not succeed, page fault was just an example. Another common case is the dynamic linker when a library function is first executed.
loeg|9 years ago
It would allow bad page faults to crash the program, i.e., ordinary behavior. No? Why do programs need this protection for HTM transactions?
> You would need to tell the operating system kernel that the page fault happened in a transaction, and let it ignore it if it was a bad page fault.
It wouldn't ignore it. It would fault the thread and probably tear down the process, as usual. No?
> Also there are other cases were retries will not succeed, page fault was just an example. Another common case is the dynamic linker when a library function is first executed.
That would be an abort due to excessive memory use?
Thanks! I'm not as familiar with this stuff as I would like to be.
bonzini|9 years ago