Changes

Jump to navigation Jump to search
m
Line 74: Line 74:  
</pre>
 
</pre>
   −
== How CRIU handles rseq ==
+
== Checkpoint/Restore of RSEQ ==
   −
CRIU handles the rseq differently depending on the particular case. Let's classify and cover all of them.
+
CRIU handles restartable sequences differently depending on the execution state of the process at checkpoint time. This can be categorized into the following cases:
   −
# the process is not inside the rseq critical section
+
# Process is not executing inside an rseq critical section
# the process is inside the rseq CS
+
# Process is executing inside an rseq critical section
## <code>flags</code> is <code>0</code> or <code>RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT</code> or <code>RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE</code>
+
## <code>flags</code> is <code>0</code>, <code>RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT</code>, or <code>RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE</code>
## <code>flags</code> is <code>RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL</code>
+
## <code>flags</code> includes <code>RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL</code>
    
=== the process is not inside the rseq critical section ===
 
=== the process is not inside the rseq critical section ===
554

edits

Navigation menu