3 ms·
>The address of jump target abort_ip must be outside the critical region Seems like an odd requirement, isn't the whole point that we want to restart the criti
by dooglius 8y ago
>The address of jump target abort_ip must be outside the critical region
Seems like an odd requirement, isn't the whole point that we want to restart the critical section, or at least part of it, over in the case that it's interrupted?
- foota 8y agoYes, but you can't restart from inside the critical section, you have to like reinitialize it.
- jgalar 8y agoNot necessarily. Applications may choose to retry a certain number of times and fallback to another mechanism if the critical section can't complete. A problematic case that was brought up on LKML was the interaction with debuggers and unexpected page faults, see this comment: https://lwn.net/Articles/738119/ https://lwn.net/Articles/738119/
- codedokode 8y agoUsually you need to do some cleanup first. Abort_ip being outside critical section prevents kernel from restarting this cleanup code.