Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

documentation: RCU grace-period memory ordering guarantees

This commit provides text and diagrams showing how Tree RCU implements
its grace-period memory ordering guarantees.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>

+14170
+9
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Diagram.html
··· 1 + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 + "http://www.w3.org/TR/html4/loose.dtd"> 3 + <html> 4 + <head><title>A Diagram of TREE_RCU's Grace-Period Memory Ordering</title> 5 + <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> 6 + 7 + <p><img src="TreeRCU-gp.svg" alt="TreeRCU-gp.svg"> 8 + 9 + </body></html>
+707
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
··· 1 + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 + "http://www.w3.org/TR/html4/loose.dtd"> 3 + <html> 4 + <head><title>A Tour Through TREE_RCU's Grace-Period Memory Ordering</title> 5 + <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> 6 + 7 + <p>August 8, 2017</p> 8 + <p>This article was contributed by Paul E.&nbsp;McKenney</p> 9 + 10 + <h3>Introduction</h3> 11 + 12 + <p>This document gives a rough visual overview of how Tree RCU's 13 + grace-period memory ordering guarantee is provided. 14 + 15 + <ol> 16 + <li> <a href="#What Is Tree RCU's Grace Period Memory Ordering Guarantee?"> 17 + What Is Tree RCU's Grace Period Memory Ordering Guarantee?</a> 18 + <li> <a href="#Tree RCU Grace Period Memory Ordering Building Blocks"> 19 + Tree RCU Grace Period Memory Ordering Building Blocks</a> 20 + <li> <a href="#Tree RCU Grace Period Memory Ordering Components"> 21 + Tree RCU Grace Period Memory Ordering Components</a> 22 + <li> <a href="#Putting It All Together">Putting It All Together</a> 23 + </ol> 24 + 25 + <h3><a name="What Is Tree RCU's Grace Period Memory Ordering Guarantee?"> 26 + What Is Tree RCU's Grace Period Memory Ordering Guarantee?</a></h3> 27 + 28 + <p>RCU grace periods provide extremely strong memory-ordering guarantees 29 + for non-idle non-offline code. 30 + Any code that happens after the end of a given RCU grace period is guaranteed 31 + to see the effects of all accesses prior to the beginning of that grace 32 + period that are within RCU read-side critical sections. 33 + Similarly, any code that happens before the beginning of a given RCU grace 34 + period is guaranteed to see the effects of all accesses following the end 35 + of that grace period that are within RCU read-side critical sections. 36 + 37 + <p>This guarantee is particularly pervasive for <tt>synchronize_sched()</tt>, 38 + for which RCU-sched read-side critical sections include any region 39 + of code for which preemption is disabled. 40 + Given that each individual machine instruction can be thought of as 41 + an extremely small region of preemption-disabled code, one can think of 42 + <tt>synchronize_sched()</tt> as <tt>smp_mb()</tt> on steroids. 43 + 44 + <p>RCU updaters use this guarantee by splitting their updates into 45 + two phases, one of which is executed before the grace period and 46 + the other of which is executed after the grace period. 47 + In the most common use case, phase one removes an element from 48 + a linked RCU-protected data structure, and phase two frees that element. 49 + For this to work, any readers that have witnessed state prior to the 50 + phase-one update (in the common case, removal) must not witness state 51 + following the phase-two update (in the common case, freeing). 52 + 53 + <p>The RCU implementation provides this guarantee using a network 54 + of lock-based critical sections, memory barriers, and per-CPU 55 + processing, as is described in the following sections. 56 + 57 + <h3><a name="Tree RCU Grace Period Memory Ordering Building Blocks"> 58 + Tree RCU Grace Period Memory Ordering Building Blocks</a></h3> 59 + 60 + <p>The workhorse for RCU's grace-period memory ordering is the 61 + critical section for the <tt>rcu_node</tt> structure's 62 + <tt>-&gt;lock</tt>. 63 + These critical sections use helper functions for lock acquisition, including 64 + <tt>raw_spin_lock_rcu_node()</tt>, 65 + <tt>raw_spin_lock_irq_rcu_node()</tt>, and 66 + <tt>raw_spin_lock_irqsave_rcu_node()</tt>. 67 + Their lock-release counterparts are 68 + <tt>raw_spin_unlock_rcu_node()</tt>, 69 + <tt>raw_spin_unlock_irq_rcu_node()</tt>, and 70 + <tt>raw_spin_unlock_irqrestore_rcu_node()</tt>, 71 + respectively. 72 + For completeness, a 73 + <tt>raw_spin_trylock_rcu_node()</tt> 74 + is also provided. 75 + The key point is that the lock-acquisition functions, including 76 + <tt>raw_spin_trylock_rcu_node()</tt>, all invoke 77 + <tt>smp_mb__after_unlock_lock()</tt> immediately after successful 78 + acquisition of the lock. 79 + 80 + <p>Therefore, for any given <tt>rcu_node</tt> struction, any access 81 + happening before one of the above lock-release functions will be seen 82 + by all CPUs as happening before any access happening after a later 83 + one of the above lock-acquisition functions. 84 + Furthermore, any access happening before one of the 85 + above lock-release function on any given CPU will be seen by all 86 + CPUs as happening before any access happening after a later one 87 + of the above lock-acquisition functions executing on that same CPU, 88 + even if the lock-release and lock-acquisition functions are operating 89 + on different <tt>rcu_node</tt> structures. 90 + Tree RCU uses these two ordering guarantees to form an ordering 91 + network among all CPUs that were in any way involved in the grace 92 + period, including any CPUs that came online or went offline during 93 + the grace period in question. 94 + 95 + <p>The following litmus test exhibits the ordering effects of these 96 + lock-acquisition and lock-release functions: 97 + 98 + <pre> 99 + 1 int x, y, z; 100 + 2 101 + 3 void task0(void) 102 + 4 { 103 + 5 raw_spin_lock_rcu_node(rnp); 104 + 6 WRITE_ONCE(x, 1); 105 + 7 r1 = READ_ONCE(y); 106 + 8 raw_spin_unlock_rcu_node(rnp); 107 + 9 } 108 + 10 109 + 11 void task1(void) 110 + 12 { 111 + 13 raw_spin_lock_rcu_node(rnp); 112 + 14 WRITE_ONCE(y, 1); 113 + 15 r2 = READ_ONCE(z); 114 + 16 raw_spin_unlock_rcu_node(rnp); 115 + 17 } 116 + 18 117 + 19 void task2(void) 118 + 20 { 119 + 21 WRITE_ONCE(z, 1); 120 + 22 smp_mb(); 121 + 23 r3 = READ_ONCE(x); 122 + 24 } 123 + 25 124 + 26 WARN_ON(r1 == 0 &amp;&amp; r2 == 0 &amp;&amp; r3 == 0); 125 + </pre> 126 + 127 + <p>The <tt>WARN_ON()</tt> is evaluated at &ldquo;the end of time&rdquo;, 128 + after all changes have propagated throughout the system. 129 + Without the <tt>smp_mb__after_unlock_lock()</tt> provided by the 130 + acquisition functions, this <tt>WARN_ON()</tt> could trigger, for example 131 + on PowerPC. 132 + The <tt>smp_mb__after_unlock_lock()</tt> invocations prevent this 133 + <tt>WARN_ON()</tt> from triggering. 134 + 135 + <p>This approach must be extended to include idle CPUs, which need 136 + RCU's grace-period memory ordering guarantee to extend to any 137 + RCU read-side critical sections preceding and following the current 138 + idle sojourn. 139 + This case is handled by calls to the strongly ordered 140 + <tt>atomic_add_return()</tt> read-modify-write atomic operation that 141 + is invoked within <tt>rcu_dynticks_eqs_enter()</tt> at idle-entry 142 + time and within <tt>rcu_dynticks_eqs_exit()</tt> at idle-exit time. 143 + The grace-period kthread invokes <tt>rcu_dynticks_snap()</tt> and 144 + <tt>rcu_dynticks_in_eqs_since()</tt> (both of which invoke 145 + an <tt>atomic_add_return()</tt> of zero) to detect idle CPUs. 146 + 147 + <table> 148 + <tr><th>&nbsp;</th></tr> 149 + <tr><th align="left">Quick Quiz:</th></tr> 150 + <tr><td> 151 + But what about CPUs that remain offline for the entire 152 + grace period? 153 + </td></tr> 154 + <tr><th align="left">Answer:</th></tr> 155 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 156 + Such CPUs will be offline at the beginning of the grace period, 157 + so the grace period won't expect quiescent states from them. 158 + Races between grace-period start and CPU-hotplug operations 159 + are mediated by the CPU's leaf <tt>rcu_node</tt> structure's 160 + <tt>-&gt;lock</tt> as described above. 161 + </font></td></tr> 162 + <tr><td>&nbsp;</td></tr> 163 + </table> 164 + 165 + <p>The approach must be extended to handle one final case, that 166 + of waking a task blocked in <tt>synchronize_rcu()</tt>. 167 + This task might be affinitied to a CPU that is not yet aware that 168 + the grace period has ended, and thus might not yet be subject to 169 + the grace period's memory ordering. 170 + Therefore, there is an <tt>smp_mb()</tt> after the return from 171 + <tt>wait_for_completion()</tt> in the <tt>synchronize_rcu()</tt> 172 + code path. 173 + 174 + <table> 175 + <tr><th>&nbsp;</th></tr> 176 + <tr><th align="left">Quick Quiz:</th></tr> 177 + <tr><td> 178 + What? Where??? 179 + I don't see any <tt>smp_mb()</tt> after the return from 180 + <tt>wait_for_completion()</tt>!!! 181 + </td></tr> 182 + <tr><th align="left">Answer:</th></tr> 183 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 184 + That would be because I spotted the need for that 185 + <tt>smp_mb()</tt> during the creation of this documentation, 186 + and it is therefore unlikely to hit mainline before v4.14. 187 + Kudos to Lance Roy, Will Deacon, Peter Zijlstra, and 188 + Jonathan Cameron for asking questions that sensitized me 189 + to the rather elaborate sequence of events that demonstrate 190 + the need for this memory barrier. 191 + </font></td></tr> 192 + <tr><td>&nbsp;</td></tr> 193 + </table> 194 + 195 + <p>Tree RCU's grace--period memory-ordering guarantees rely most 196 + heavily on the <tt>rcu_node</tt> structure's <tt>-&gt;lock</tt> 197 + field, so much so that it is necessary to abbreviate this pattern 198 + in the diagrams in the next section. 199 + For example, consider the <tt>rcu_prepare_for_idle()</tt> function 200 + shown below, which is one of several functions that enforce ordering 201 + of newly arrived RCU callbacks against future grace periods: 202 + 203 + <pre> 204 + 1 static void rcu_prepare_for_idle(void) 205 + 2 { 206 + 3 bool needwake; 207 + 4 struct rcu_data *rdp; 208 + 5 struct rcu_dynticks *rdtp = this_cpu_ptr(&amp;rcu_dynticks); 209 + 6 struct rcu_node *rnp; 210 + 7 struct rcu_state *rsp; 211 + 8 int tne; 212 + 9 213 + 10 if (IS_ENABLED(CONFIG_RCU_NOCB_CPU_ALL) || 214 + 11 rcu_is_nocb_cpu(smp_processor_id())) 215 + 12 return; 216 + 13 tne = READ_ONCE(tick_nohz_active); 217 + 14 if (tne != rdtp-&gt;tick_nohz_enabled_snap) { 218 + 15 if (rcu_cpu_has_callbacks(NULL)) 219 + 16 invoke_rcu_core(); 220 + 17 rdtp-&gt;tick_nohz_enabled_snap = tne; 221 + 18 return; 222 + 19 } 223 + 20 if (!tne) 224 + 21 return; 225 + 22 if (rdtp-&gt;all_lazy &amp;&amp; 226 + 23 rdtp-&gt;nonlazy_posted != rdtp-&gt;nonlazy_posted_snap) { 227 + 24 rdtp-&gt;all_lazy = false; 228 + 25 rdtp-&gt;nonlazy_posted_snap = rdtp-&gt;nonlazy_posted; 229 + 26 invoke_rcu_core(); 230 + 27 return; 231 + 28 } 232 + 29 if (rdtp-&gt;last_accelerate == jiffies) 233 + 30 return; 234 + 31 rdtp-&gt;last_accelerate = jiffies; 235 + 32 for_each_rcu_flavor(rsp) { 236 + 33 rdp = this_cpu_ptr(rsp-&gt;rda); 237 + 34 if (rcu_segcblist_pend_cbs(&amp;rdp-&gt;cblist)) 238 + 35 continue; 239 + 36 rnp = rdp-&gt;mynode; 240 + 37 raw_spin_lock_rcu_node(rnp); 241 + 38 needwake = rcu_accelerate_cbs(rsp, rnp, rdp); 242 + 39 raw_spin_unlock_rcu_node(rnp); 243 + 40 if (needwake) 244 + 41 rcu_gp_kthread_wake(rsp); 245 + 42 } 246 + 43 } 247 + </pre> 248 + 249 + <p>But the only part of <tt>rcu_prepare_for_idle()</tt> that really 250 + matters for this discussion are lines&nbsp;37&ndash;39. 251 + We will therefore abbreviate this function as follows: 252 + 253 + </p><p><img src="rcu_node-lock.svg" alt="rcu_node-lock.svg"> 254 + 255 + <p>The box represents the <tt>rcu_node</tt> structure's <tt>-&gt;lock</tt> 256 + critical section, with the double line on top representing the additional 257 + <tt>smp_mb__after_unlock_lock()</tt>. 258 + 259 + <h3><a name="Tree RCU Grace Period Memory Ordering Components"> 260 + Tree RCU Grace Period Memory Ordering Components</a></h3> 261 + 262 + <p>Tree RCU's grace-period memory-ordering guarantee is provided by 263 + a number of RCU components: 264 + 265 + <ol> 266 + <li> <a href="#Callback Registry">Callback Registry</a> 267 + <li> <a href="#Grace-Period Initialization">Grace-Period Initialization</a> 268 + <li> <a href="#Self-Reported Quiescent States"> 269 + Self-Reported Quiescent States</a> 270 + <li> <a href="#Dynamic Tick Interface">Dynamic Tick Interface</a> 271 + <li> <a href="#CPU-Hotplug Interface">CPU-Hotplug Interface</a> 272 + <li> <a href="Forcing Quiescent States">Forcing Quiescent States</a> 273 + <li> <a href="Grace-Period Cleanup">Grace-Period Cleanup</a> 274 + <li> <a href="Callback Invocation">Callback Invocation</a> 275 + </ol> 276 + 277 + <p>Each of the following section looks at the corresponding component 278 + in detail. 279 + 280 + <h4><a name="Callback Registry">Callback Registry</a></h4> 281 + 282 + <p>If RCU's grace-period guarantee is to mean anything at all, any 283 + access that happens before a given invocation of <tt>call_rcu()</tt> 284 + must also happen before the corresponding grace period. 285 + The implementation of this portion of RCU's grace period guarantee 286 + is shown in the following figure: 287 + 288 + </p><p><img src="TreeRCU-callback-registry.svg" alt="TreeRCU-callback-registry.svg"> 289 + 290 + <p>Because <tt>call_rcu()</tt> normally acts only on CPU-local state, 291 + it provides no ordering guarantees, either for itself or for 292 + phase one of the update (which again will usually be removal of 293 + an element from an RCU-protected data structure). 294 + It simply enqueues the <tt>rcu_head</tt> structure on a per-CPU list, 295 + which cannot become associated with a grace period until a later 296 + call to <tt>rcu_accelerate_cbs()</tt>, as shown in the diagram above. 297 + 298 + <p>One set of code paths shown on the left invokes 299 + <tt>rcu_accelerate_cbs()</tt> via 300 + <tt>note_gp_changes()</tt>, either directly from <tt>call_rcu()</tt> (if 301 + the current CPU is inundated with queued <tt>rcu_head</tt> structures) 302 + or more likely from an <tt>RCU_SOFTIRQ</tt> handler. 303 + Another code path in the middle is taken only in kernels built with 304 + <tt>CONFIG_RCU_FAST_NO_HZ=y</tt>, which invokes 305 + <tt>rcu_accelerate_cbs()</tt> via <tt>rcu_prepare_for_idle()</tt>. 306 + The final code path on the right is taken only in kernels built with 307 + <tt>CONFIG_HOTPLUG_CPU=y</tt>, which invokes 308 + <tt>rcu_accelerate_cbs()</tt> via 309 + <tt>rcu_advance_cbs()</tt>, <tt>rcu_migrate_callbacks</tt>, 310 + <tt>rcutree_migrate_callbacks()</tt>, and <tt>takedown_cpu()</tt>, 311 + which in turn is invoked on a surviving CPU after the outgoing 312 + CPU has been completely offlined. 313 + 314 + <p>There are a few other code paths within grace-period processing 315 + that opportunistically invoke <tt>rcu_accelerate_cbs()</tt>. 316 + However, either way, all of the CPU's recently queued <tt>rcu_head</tt> 317 + structures are associated with a future grace-period number under 318 + the protection of the CPU's lead <tt>rcu_node</tt> structure's 319 + <tt>-&gt;lock</tt>. 320 + In all cases, there is full ordering against any prior critical section 321 + for that same <tt>rcu_node</tt> structure's <tt>-&gt;lock</tt>, and 322 + also full ordering against any of the current task's or CPU's prior critical 323 + sections for any <tt>rcu_node</tt> structure's <tt>-&gt;lock</tt>. 324 + 325 + <p>The next section will show how this ordering ensures that any 326 + accesses prior to the <tt>call_rcu()</tt> (particularly including phase 327 + one of the update) 328 + happen before the start of the corresponding grace period. 329 + 330 + <table> 331 + <tr><th>&nbsp;</th></tr> 332 + <tr><th align="left">Quick Quiz:</th></tr> 333 + <tr><td> 334 + But what about <tt>synchronize_rcu()</tt>? 335 + </td></tr> 336 + <tr><th align="left">Answer:</th></tr> 337 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 338 + The <tt>synchronize_rcu()</tt> passes <tt>call_rcu()</tt> 339 + to <tt>wait_rcu_gp()</tt>, which invokes it. 340 + So either way, it eventually comes down to <tt>call_rcu()</tt>. 341 + </font></td></tr> 342 + <tr><td>&nbsp;</td></tr> 343 + </table> 344 + 345 + <h4><a name="Grace-Period Initialization">Grace-Period Initialization</a></h4> 346 + 347 + <p>Grace-period initialization is carried out by 348 + the grace-period kernel thread, which makes several passes over the 349 + <tt>rcu_node</tt> tree within the <tt>rcu_gp_init()</tt> function. 350 + This means that showing the full flow of ordering through the 351 + grace-period computation will require duplicating this tree. 352 + If you find this confusing, please note that the state of the 353 + <tt>rcu_node</tt> changes over time, just like Heraclitus's river. 354 + However, to keep the <tt>rcu_node</tt> river tractable, the 355 + grace-period kernel thread's traversals are presented in multiple 356 + parts, starting in this section with the various phases of 357 + grace-period initialization. 358 + 359 + <p>The first ordering-related grace-period initialization action is to 360 + increment the <tt>rcu_state</tt> structure's <tt>-&gt;gpnum</tt> 361 + grace-period-number counter, as shown below: 362 + 363 + </p><p><img src="TreeRCU-gp-init-1.svg" alt="TreeRCU-gp-init-1.svg" width="75%"> 364 + 365 + <p>The actual increment is carried out using <tt>smp_store_release()</tt>, 366 + which helps reject false-positive RCU CPU stall detection. 367 + Note that only the root <tt>rcu_node</tt> structure is touched. 368 + 369 + <p>The first pass through the <tt>rcu_node</tt> tree updates bitmasks 370 + based on CPUs having come online or gone offline since the start of 371 + the previous grace period. 372 + In the common case where the number of online CPUs for this <tt>rcu_node</tt> 373 + structure has not transitioned to or from zero, 374 + this pass will scan only the leaf <tt>rcu_node</tt> structures. 375 + However, if the number of online CPUs for a given leaf <tt>rcu_node</tt> 376 + structure has transitioned from zero, 377 + <tt>rcu_init_new_rnp()</tt> will be invoked for the first incoming CPU. 378 + Similarly, if the number of online CPUs for a given leaf <tt>rcu_node</tt> 379 + structure has transitioned to zero, 380 + <tt>rcu_cleanup_dead_rnp()</tt> will be invoked for the last outgoing CPU. 381 + The diagram below shows the path of ordering if the leftmost 382 + <tt>rcu_node</tt> structure onlines its first CPU and if the next 383 + <tt>rcu_node</tt> structure has no online CPUs 384 + (or, alternatively if the leftmost <tt>rcu_node</tt> structure offlines 385 + its last CPU and if the next <tt>rcu_node</tt> structure has no online CPUs). 386 + 387 + </p><p><img src="TreeRCU-gp-init-2.svg" alt="TreeRCU-gp-init-1.svg" width="75%"> 388 + 389 + <p>The final <tt>rcu_gp_init()</tt> pass through the <tt>rcu_node</tt> 390 + tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's 391 + <tt>-&gt;gpnum</tt> field to the newly incremented value from the 392 + <tt>rcu_state</tt> structure, as shown in the following diagram. 393 + 394 + </p><p><img src="TreeRCU-gp-init-3.svg" alt="TreeRCU-gp-init-1.svg" width="75%"> 395 + 396 + <p>This change will also cause each CPU's next call to 397 + <tt>__note_gp_changes()</tt> 398 + to notice that a new grace period has started, as described in the next 399 + section. 400 + But because the grace-period kthread started the grace period at the 401 + root (with the increment of the <tt>rcu_state</tt> structure's 402 + <tt>-&gt;gpnum</tt> field) before setting each leaf <tt>rcu_node</tt> 403 + structure's <tt>-&gt;gpnum</tt> field, each CPU's observation of 404 + the start of the grace period will happen after the actual start 405 + of the grace period. 406 + 407 + <table> 408 + <tr><th>&nbsp;</th></tr> 409 + <tr><th align="left">Quick Quiz:</th></tr> 410 + <tr><td> 411 + But what about the CPU that started the grace period? 412 + Why wouldn't it see the start of the grace period right when 413 + it started that grace period? 414 + </td></tr> 415 + <tr><th align="left">Answer:</th></tr> 416 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 417 + In some deep philosophical and overly anthromorphized 418 + sense, yes, the CPU starting the grace period is immediately 419 + aware of having done so. 420 + However, if we instead assume that RCU is not self-aware, 421 + then even the CPU starting the grace period does not really 422 + become aware of the start of this grace period until its 423 + first call to <tt>__note_gp_changes()</tt>. 424 + On the other hand, this CPU potentially gets early notification 425 + because it invokes <tt>__note_gp_changes()</tt> during its 426 + last <tt>rcu_gp_init()</tt> pass through its leaf 427 + <tt>rcu_node</tt> structure. 428 + </font></td></tr> 429 + <tr><td>&nbsp;</td></tr> 430 + </table> 431 + 432 + <h4><a name="Self-Reported Quiescent States"> 433 + Self-Reported Quiescent States</a></h4> 434 + 435 + <p>When all entities that might block the grace period have reported 436 + quiescent states (or as described in a later section, had quiescent 437 + states reported on their behalf), the grace period can end. 438 + Online non-idle CPUs report their own quiescent states, as shown 439 + in the following diagram: 440 + 441 + </p><p><img src="TreeRCU-qs.svg" alt="TreeRCU-qs.svg" width="75%"> 442 + 443 + <p>This is for the last CPU to report a quiescent state, which signals 444 + the end of the grace period. 445 + Earlier quiescent states would push up the <tt>rcu_node</tt> tree 446 + only until they encountered an <tt>rcu_node</tt> structure that 447 + is waiting for additional quiescent states. 448 + However, ordering is nevertheless preserved because some later quiescent 449 + state will acquire that <tt>rcu_node</tt> structure's <tt>-&gt;lock</tt>. 450 + 451 + <p>Any number of events can lead up to a CPU invoking 452 + <tt>note_gp_changes</tt> (or alternatively, directly invoking 453 + <tt>__note_gp_changes()</tt>), at which point that CPU will notice 454 + the start of a new grace period while holding its leaf 455 + <tt>rcu_node</tt> lock. 456 + Therefore, all execution shown in this diagram happens after the 457 + start of the grace period. 458 + In addition, this CPU will consider any RCU read-side critical 459 + section that started before the invocation of <tt>__note_gp_changes()</tt> 460 + to have started before the grace period, and thus a critical 461 + section that the grace period must wait on. 462 + 463 + <table> 464 + <tr><th>&nbsp;</th></tr> 465 + <tr><th align="left">Quick Quiz:</th></tr> 466 + <tr><td> 467 + But a RCU read-side critical section might have started 468 + after the beginning of the grace period 469 + (the <tt>-&gt;gpnum++</tt> from earlier), so why should 470 + the grace period wait on such a critical section? 471 + </td></tr> 472 + <tr><th align="left">Answer:</th></tr> 473 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 474 + It is indeed not necessary for the grace period to wait on such 475 + a critical section. 476 + However, it is permissible to wait on it. 477 + And it is furthermore important to wait on it, as this 478 + lazy approach is far more scalable than a &ldquo;big bang&rdquo; 479 + all-at-once grace-period start could possibly be. 480 + </font></td></tr> 481 + <tr><td>&nbsp;</td></tr> 482 + </table> 483 + 484 + <p>If the CPU does a context switch, a quiescent state will be 485 + noted by <tt>rcu_node_context_switch()</tt> on the left. 486 + On the other hand, if the CPU takes a scheduler-clock interrupt 487 + while executing in usermode, a quiescent state will be noted by 488 + <tt>rcu_check_callbacks()</tt> on the right. 489 + Either way, the passage through a quiescent state will be noted 490 + in a per-CPU variable. 491 + 492 + <p>The next time an <tt>RCU_SOFTIRQ</tt> handler executes on 493 + this CPU (for example, after the next scheduler-clock 494 + interrupt), <tt>__rcu_process_callbacks()</tt> will invoke 495 + <tt>rcu_check_quiescent_state()</tt>, which will notice the 496 + recorded quiescent state, and invoke 497 + <tt>rcu_report_qs_rdp()</tt>. 498 + If <tt>rcu_report_qs_rdp()</tt> verifies that the quiescent state 499 + really does apply to the current grace period, it invokes 500 + <tt>rcu_report_rnp()</tt> which traverses up the <tt>rcu_node</tt> 501 + tree as shown at the bottom of the diagram, clearing bits from 502 + each <tt>rcu_node</tt> structure's <tt>-&gt;qsmask</tt> field, 503 + and propagating up the tree when the result is zero. 504 + 505 + <p>Note that traversal passes upwards out of a given <tt>rcu_node</tt> 506 + structure only if the current CPU is reporting the last quiescent 507 + state for the subtree headed by that <tt>rcu_node</tt> structure. 508 + A key point is that if a CPU's traversal stops at a given <tt>rcu_node</tt> 509 + structure, then there will be a later traversal by another CPU 510 + (or perhaps the same one) that proceeds upwards 511 + from that point, and the <tt>rcu_node</tt> <tt>-&gt;lock</tt> 512 + guarantees that the first CPU's quiescent state happens before the 513 + remainder of the second CPU's traversal. 514 + Applying this line of thought repeatedly shows that all CPUs' 515 + quiescent states happen before the last CPU traverses through 516 + the root <tt>rcu_node</tt> structure, the &ldquo;last CPU&rdquo; 517 + being the one that clears the last bit in the root <tt>rcu_node</tt> 518 + structure's <tt>-&gt;qsmask</tt> field. 519 + 520 + <h4><a name="Dynamic Tick Interface">Dynamic Tick Interface</a></h4> 521 + 522 + <p>Due to energy-efficiency considerations, RCU is forbidden from 523 + disturbing idle CPUs. 524 + CPUs are therefore required to notify RCU when entering or leaving idle 525 + state, which they do via fully ordered value-returning atomic operations 526 + on a per-CPU variable. 527 + The ordering effects are as shown below: 528 + 529 + </p><p><img src="TreeRCU-dyntick.svg" alt="TreeRCU-dyntick.svg" width="50%"> 530 + 531 + <p>The RCU grace-period kernel thread samples the per-CPU idleness 532 + variable while holding the corresponding CPU's leaf <tt>rcu_node</tt> 533 + structure's <tt>-&gt;lock</tt>. 534 + This means that any RCU read-side critical sections that precede the 535 + idle period (the oval near the top of the diagram above) will happen 536 + before the end of the current grace period. 537 + Similarly, the beginning of the current grace period will happen before 538 + any RCU read-side critical sections that follow the 539 + idle period (the oval near the bottom of the diagram above). 540 + 541 + <p>Plumbing this into the full grace-period execution is described 542 + <a href="#Forcing Quiescent States">below</a>. 543 + 544 + <h4><a name="CPU-Hotplug Interface">CPU-Hotplug Interface</a></h4> 545 + 546 + <p>RCU is also forbidden from disturbing offline CPUs, which might well 547 + be powered off and removed from the system completely. 548 + CPUs are therefore required to notify RCU of their comings and goings 549 + as part of the corresponding CPU hotplug operations. 550 + The ordering effects are shown below: 551 + 552 + </p><p><img src="TreeRCU-hotplug.svg" alt="TreeRCU-hotplug.svg" width="50%"> 553 + 554 + <p>Because CPU hotplug operations are much less frequent than idle transitions, 555 + they are heavier weight, and thus acquire the CPU's leaf <tt>rcu_node</tt> 556 + structure's <tt>-&gt;lock</tt> and update this structure's 557 + <tt>-&gt;qsmaskinitnext</tt>. 558 + The RCU grace-period kernel thread samples this mask to detect CPUs 559 + having gone offline since the beginning of this grace period. 560 + 561 + <p>Plumbing this into the full grace-period execution is described 562 + <a href="#Forcing Quiescent States">below</a>. 563 + 564 + <h4><a name="Forcing Quiescent States">Forcing Quiescent States</a></h4> 565 + 566 + <p>As noted above, idle and offline CPUs cannot report their own 567 + quiescent states, and therefore the grace-period kernel thread 568 + must do the reporting on their behalf. 569 + This process is called &ldquo;forcing quiescent states&rdquo;, it is 570 + repeated every few jiffies, and its ordering effects are shown below: 571 + 572 + </p><p><img src="TreeRCU-gp-fqs.svg" alt="TreeRCU-gp-fqs.svg" width="100%"> 573 + 574 + <p>Each pass of quiescent state forcing is guaranteed to traverse the 575 + leaf <tt>rcu_node</tt> structures, and if there are no new quiescent 576 + states due to recently idled and/or offlined CPUs, then only the 577 + leaves are traversed. 578 + However, if there is a newly offlined CPU as illustrated on the left 579 + or a newly idled CPU as illustrated on the right, the corresponding 580 + quiescent state will be driven up towards the root. 581 + As with self-reported quiescent states, the upwards driving stops 582 + once it reaches an <tt>rcu_node</tt> structure that has quiescent 583 + states outstanding from other CPUs. 584 + 585 + <table> 586 + <tr><th>&nbsp;</th></tr> 587 + <tr><th align="left">Quick Quiz:</th></tr> 588 + <tr><td> 589 + The leftmost drive to root stopped before it reached 590 + the root <tt>rcu_node</tt> structure, which means that 591 + there are still CPUs subordinate to that structure on 592 + which the current grace period is waiting. 593 + Given that, how is it possible that the rightmost drive 594 + to root ended the grace period? 595 + </td></tr> 596 + <tr><th align="left">Answer:</th></tr> 597 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 598 + Good analysis! 599 + It is in fact impossible in the absence of bugs in RCU. 600 + But this diagram is complex enough as it is, so simplicity 601 + overrode accuracy. 602 + You can think of it as poetic license, or you can think of 603 + it as misdirection that is resolved in the 604 + <a href="#Putting It All Together">stitched-together diagram</a>. 605 + </font></td></tr> 606 + <tr><td>&nbsp;</td></tr> 607 + </table> 608 + 609 + <h4><a name="Grace-Period Cleanup">Grace-Period Cleanup</a></h4> 610 + 611 + <p>Grace-period cleanup first scans the <tt>rcu_node</tt> tree 612 + breadth-first setting all the <tt>-&gt;completed</tt> fields equal 613 + to the number of the newly completed grace period, then it sets 614 + the <tt>rcu_state</tt> structure's <tt>-&gt;completed</tt> field, 615 + again to the number of the newly completed grace period. 616 + The ordering effects are shown below: 617 + 618 + </p><p><img src="TreeRCU-gp-cleanup.svg" alt="TreeRCU-gp-cleanup.svg" width="75%"> 619 + 620 + <p>As indicated by the oval at the bottom of the diagram, once 621 + grace-period cleanup is complete, the next grace period can begin. 622 + 623 + <table> 624 + <tr><th>&nbsp;</th></tr> 625 + <tr><th align="left">Quick Quiz:</th></tr> 626 + <tr><td> 627 + But when precisely does the grace period end? 628 + </td></tr> 629 + <tr><th align="left">Answer:</th></tr> 630 + <tr><td bgcolor="#ffffff"><font color="ffffff"> 631 + There is no useful single point at which the grace period 632 + can be said to end. 633 + The earliest reasonable candidate is as soon as the last 634 + CPU has reported its quiescent state, but it may be some 635 + milliseconds before RCU becomes aware of this. 636 + The latest reasonable candidate is once the <tt>rcu_state</tt> 637 + structure's <tt>-&gt;completed</tt> field has been updated, 638 + but it is quite possible that some CPUs have already completed 639 + phase two of their updates by that time. 640 + In short, if you are going to work with RCU, you need to 641 + learn to embrace uncertainty. 642 + </font></td></tr> 643 + <tr><td>&nbsp;</td></tr> 644 + </table> 645 + 646 + 647 + <h4><a name="Callback Invocation">Callback Invocation</a></h4> 648 + 649 + <p>Once a given CPU's leaf <tt>rcu_node</tt> structure's 650 + <tt>-&gt;completed</tt> field has been updated, that CPU can begin 651 + invoking its RCU callbacks that were waiting for this grace period 652 + to end. 653 + These callbacks are identified by <tt>rcu_advance_cbs()</tt>, 654 + which is usually invoked by <tt>__note_gp_changes()</tt>. 655 + As shown in the diagram below, this invocation can be triggered by 656 + the scheduling-clock interrupt (<tt>rcu_check_callbacks()</tt> on 657 + the left) or by idle entry (<tt>rcu_cleanup_after_idle()</tt> on 658 + the right, but only for kernels build with 659 + <tt>CONFIG_RCU_FAST_NO_HZ=y</tt>). 660 + Either way, <tt>RCU_SOFTIRQ</tt> is raised, which results in 661 + <tt>rcu_do_batch()</tt> invoking the callbacks, which in turn 662 + allows those callbacks to carry out (either directly or indirectly 663 + via wakeup) the needed phase-two processing for each update. 664 + 665 + </p><p><img src="TreeRCU-callback-invocation.svg" alt="TreeRCU-callback-invocation.svg" width="60%"> 666 + 667 + <p>Please note that callback invocation can also be prompted by any 668 + number of corner-case code paths, for example, when a CPU notes that 669 + it has excessive numbers of callbacks queued. 670 + In all cases, the CPU acquires its leaf <tt>rcu_node</tt> structure's 671 + <tt>-&gt;lock</tt> before invoking callbacks, which preserves the 672 + required ordering against the newly completed grace period. 673 + 674 + <p>However, if the callback function communicates to other CPUs, 675 + for example, doing a wakeup, then it is that function's responsibility 676 + to maintain ordering. 677 + For example, if the callback function wakes up a task that runs on 678 + some other CPU, proper ordering must in place in both the callback 679 + function and the task being awakened. 680 + To see why this is important, consider the top half of the 681 + <a href="#Grace-Period Cleanup">grace-period cleanup</a> diagram. 682 + The callback might be running on a CPU corresponding to the leftmost 683 + leaf <tt>rcu_node</tt> structure, and awaken a task that is to run on 684 + a CPU corresponding to the rightmost leaf <tt>rcu_node</tt> structure, 685 + and the grace-period kernel thread might not yet have reached the 686 + rightmost leaf. 687 + In this case, the grace period's memory ordering might not yet have 688 + reached that CPU, so again the callback function and the awakened 689 + task must supply proper ordering. 690 + 691 + <h3><a name="Putting It All Together">Putting It All Together</a></h3> 692 + 693 + <p>A stitched-together diagram is 694 + <a href="Tree-RCU-Diagram.html">here</a>. 695 + 696 + <h3><a name="Legal Statement"> 697 + Legal Statement</a></h3> 698 + 699 + <p>This work represents the view of the author and does not necessarily 700 + represent the view of IBM. 701 + 702 + </p><p>Linux is a registered trademark of Linus Torvalds. 703 + 704 + </p><p>Other company, product, and service names may be trademarks or 705 + service marks of others. 706 + 707 + </body></html>
+486
Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="592.12805" 17 + height="469.83038" 18 + viewBox="-44 -44 7874.1949 6244.9802" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-callback-invocation.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + </defs> 178 + <sodipodi:namedview 179 + pagecolor="#ffffff" 180 + bordercolor="#666666" 181 + borderopacity="1" 182 + objecttolerance="10" 183 + gridtolerance="10" 184 + guidetolerance="10" 185 + inkscape:pageopacity="0" 186 + inkscape:pageshadow="2" 187 + inkscape:window-width="1087" 188 + inkscape:window-height="1144" 189 + id="namedview208" 190 + showgrid="true" 191 + inkscape:zoom="1.2009216" 192 + inkscape:cx="289.88715" 193 + inkscape:cy="219.06265" 194 + inkscape:window-x="713" 195 + inkscape:window-y="28" 196 + inkscape:window-maximized="0" 197 + inkscape:current-layer="g3058" 198 + fit-margin-top="5" 199 + fit-margin-right="5" 200 + fit-margin-left="5" 201 + fit-margin-bottom="5"> 202 + <inkscape:grid 203 + type="xygrid" 204 + id="grid3079" 205 + empspacing="5" 206 + visible="true" 207 + enabled="true" 208 + snapvisiblegridlinesonly="true" 209 + originx="-116.00011px" 210 + originy="-87.2081px" /> 211 + </sodipodi:namedview> 212 + <g 213 + style="fill:none;stroke-width:0.025in" 214 + id="g4" 215 + transform="translate(-2296.0293,-2364.1166)"> 216 + <path 217 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 218 + d="m 6161.6776,2411.7612 0,4920.3076" 219 + id="path3134-9-0-3" 220 + inkscape:connector-curvature="0" 221 + sodipodi:nodetypes="cc" /> 222 + <path 223 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 224 + d="m 6161.6776,4672.443 -2393.6631,0.5116 0,1196.8316 2393.6631,-0.5116" 225 + id="path3134-9-0" 226 + inkscape:connector-curvature="0" 227 + sodipodi:nodetypes="cccc" /> 228 + <path 229 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 230 + d="m 6161.6776,4672.443 2393.6631,0.5116 0,1196.8316 -2393.6631,-0.5116" 231 + id="path3134-9-0-7" 232 + inkscape:connector-curvature="0" 233 + sodipodi:nodetypes="cccc" /> 234 + <!-- Line: box --> 235 + <!-- Line: box --> 236 + <!-- Line: box --> 237 + <!-- Line --> 238 + <!-- Arrowhead on XXXpoint 5250 8100 - 5710 5790--> 239 + <!-- Line --> 240 + <!-- Arrowhead on XXXpoint 4050 9300 - 4512 7140--> 241 + <!-- Line --> 242 + <!-- Arrowhead on XXXpoint 1040 9300 - 1502 7140--> 243 + <!-- Line --> 244 + <!-- Arrowhead on XXXpoint 2240 8100 - 2702 5940--> 245 + <!-- Line: box --> 246 + <!-- Line: box --> 247 + <!-- Line --> 248 + <!-- Arrowhead on XXXpoint 1350 3450 - 2444 2510--> 249 + <!-- Line --> 250 + <!-- Arrowhead on XXXpoint 4950 3450 - 3854 2510--> 251 + <!-- Line --> 252 + <!-- Arrowhead on XXXpoint 4050 6600 - 4050 4290--> 253 + <!-- Line --> 254 + <!-- Arrowhead on XXXpoint 1050 6600 - 1050 4290--> 255 + <!-- Line --> 256 + <!-- Arrowhead on XXXpoint 2250 5400 - 2250 4290--> 257 + <!-- Line --> 258 + <!-- Arrowhead on XXXpoint 2250 8100 - 2250 6240--> 259 + <!-- Line --> 260 + <!-- Arrowhead on XXXpoint 1050 9300 - 1050 7440--> 261 + <!-- Line --> 262 + <!-- Arrowhead on XXXpoint 4050 9300 - 4050 7440--> 263 + <!-- Line --> 264 + <!-- Arrowhead on XXXpoint 5250 8100 - 5250 6240--> 265 + <!-- Circle --> 266 + <!-- Circle --> 267 + <!-- Circle --> 268 + <!-- Circle --> 269 + <!-- Circle --> 270 + <!-- Circle --> 271 + <!-- Circle --> 272 + <!-- Circle --> 273 + <!-- Circle --> 274 + <!-- Line: box --> 275 + <!-- Line: box --> 276 + <!-- Line: box --> 277 + <!-- Line: box --> 278 + <!-- Line: box --> 279 + <!-- Line: box --> 280 + <!-- Line: box --> 281 + <!-- Line: box --> 282 + <!-- Line: box --> 283 + <!-- Line: box --> 284 + <!-- Line --> 285 + <!-- Line --> 286 + <!-- Arrowhead on XXXpoint 9300 3150 - 10860 3150--> 287 + <!-- Line: box --> 288 + <!-- Line --> 289 + <!-- Arrowhead on XXXpoint 11400 3600 - 11400 4410--> 290 + <!-- Line: box --> 291 + <!-- Line --> 292 + <!-- Arrowhead on XXXpoint 11400 5100 - 11400 5910--> 293 + <!-- Line: box --> 294 + <!-- Line --> 295 + <!-- Arrowhead on XXXpoint 9900 4650 - 10860 4650--> 296 + <!-- Line --> 297 + <!-- Arrowhead on XXXpoint 9600 6150 - 10860 6150--> 298 + <!-- Text --> 299 + <!-- Text --> 300 + <!-- Text --> 301 + <!-- Text --> 302 + <!-- Text --> 303 + <!-- Text --> 304 + <!-- Text --> 305 + <!-- Text --> 306 + <!-- Text --> 307 + <!-- Text --> 308 + <!-- Text --> 309 + <!-- Text --> 310 + <!-- Text --> 311 + <!-- Text --> 312 + <!-- Text --> 313 + <!-- Text --> 314 + <!-- Text --> 315 + <!-- Text --> 316 + <!-- Text --> 317 + <!-- Text --> 318 + <!-- Text --> 319 + <!-- Text --> 320 + <!-- Text --> 321 + <!-- Text --> 322 + <!-- Text --> 323 + <!-- Text --> 324 + <!-- Line --> 325 + <!-- Arrowhead on XXXpoint 5250 5400 - 5250 4290--> 326 + <!-- Line: box --> 327 + <!-- Line: box --> 328 + <!-- Line: box --> 329 + <!-- Line: box --> 330 + <!-- Text --> 331 + <!-- Text --> 332 + <!-- Text --> 333 + <!-- Text --> 334 + <!-- Text --> 335 + <rect 336 + x="2333.5203" 337 + y="5109.5566" 338 + width="2844.0974" 339 + height="360.77411" 340 + rx="0" 341 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.0005789, 60.00115781;stroke-dashoffset:0" 342 + id="rect118-3" 343 + ry="0" /> 344 + <text 345 + xml:space="preserve" 346 + x="2562.135" 347 + y="5357.9937" 348 + font-style="normal" 349 + font-weight="bold" 350 + font-size="192" 351 + id="text202-7-5" 352 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_check_callbacks()</text> 353 + <rect 354 + x="7069.6187" 355 + y="5087.4678" 356 + width="2975.115" 357 + height="382.86298" 358 + rx="0" 359 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057902, 60.00115804;stroke-dashoffset:0" 360 + id="rect118-36" 361 + ry="0" /> 362 + <text 363 + xml:space="preserve" 364 + x="7165.2524" 365 + y="5333.4927" 366 + font-style="normal" 367 + font-weight="bold" 368 + font-size="192" 369 + id="text202-7-9-6" 370 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_cleanup_after_idle()</text> 371 + <g 372 + id="g3058" 373 + transform="translate(-53.192514,-2819.2063)"> 374 + <text 375 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier" 376 + id="text202" 377 + font-size="192" 378 + font-weight="bold" 379 + font-style="normal" 380 + y="6532.0293" 381 + x="5073.3374" 382 + xml:space="preserve">rcu_advance_cbs()</text> 383 + <rect 384 + id="rect112" 385 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 386 + rx="0" 387 + height="1370.8721" 388 + width="2809.1992" 389 + y="5650.2598" 390 + x="4800.2563" /> 391 + <rect 392 + id="rect112-3" 393 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 394 + rx="0" 395 + height="1294.8468" 396 + width="2809.1992" 397 + y="5726.2852" 398 + x="4800.2563" /> 399 + <text 400 + sodipodi:linespacing="125%" 401 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 402 + id="text202-7-5-1-2-3-7" 403 + font-size="192" 404 + font-weight="bold" 405 + font-style="normal" 406 + y="6961.395" 407 + x="7220.106" 408 + xml:space="preserve"><tspan 409 + id="tspan3104-6-5" 410 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 411 + <text 412 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 413 + id="text202-3" 414 + font-size="192" 415 + font-weight="bold" 416 + font-style="normal" 417 + y="6321.9248" 418 + x="5073.3374" 419 + xml:space="preserve">__note_gp_changes()</text> 420 + </g> 421 + <g 422 + id="g3049" 423 + transform="translate(26.596257,6090.5512)"> 424 + <path 425 + transform="matrix(13.298129,0,0,13.298129,1872.6808,-2726.4833)" 426 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 427 + sodipodi:ry="39.550262" 428 + sodipodi:rx="65.917107" 429 + sodipodi:cy="345.54001" 430 + sodipodi:cx="319.379" 431 + id="path3084-3" 432 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 433 + sodipodi:type="arc" /> 434 + <text 435 + sodipodi:linespacing="125%" 436 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 437 + id="text202-7-5-1-2-6" 438 + font-size="192" 439 + font-weight="bold" 440 + font-style="normal" 441 + y="1785.2073" 442 + x="5717.4517" 443 + xml:space="preserve"><tspan 444 + id="tspan3104-7" 445 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Phase Two</tspan></text> 446 + <text 447 + sodipodi:linespacing="125%" 448 + id="text3110-5" 449 + y="2005.6624" 450 + x="6119.668" 451 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 452 + xml:space="preserve"><tspan 453 + y="2005.6624" 454 + x="6119.668" 455 + id="tspan3112-3" 456 + sodipodi:role="line">of Update</tspan></text> 457 + </g> 458 + <rect 459 + x="5097.8271" 460 + y="6268.2183" 461 + width="1994.7195" 462 + height="664.90662" 463 + rx="0" 464 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057858, 60.00115716;stroke-dashoffset:0" 465 + id="rect118-36-3" 466 + ry="0" /> 467 + <text 468 + xml:space="preserve" 469 + x="5363.7886" 470 + y="6534.1812" 471 + font-style="normal" 472 + font-weight="bold" 473 + font-size="192" 474 + id="text202-7-9-6-6" 475 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">RCU_SOFTIRQ</text> 476 + <text 477 + xml:space="preserve" 478 + x="5363.7886" 479 + y="6800.1436" 480 + font-style="normal" 481 + font-weight="bold" 482 + font-size="192" 483 + id="text202-7-9-6-6-7" 484 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_do_batch()</text> 485 + </g> 486 + </svg>
+655
Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="816.04761" 17 + height="636.55627" 18 + viewBox="-44 -44 10851.906 8461.0989" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-callback-registry.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + </defs> 178 + <sodipodi:namedview 179 + pagecolor="#ffffff" 180 + bordercolor="#666666" 181 + borderopacity="1" 182 + objecttolerance="10" 183 + gridtolerance="10" 184 + guidetolerance="10" 185 + inkscape:pageopacity="0" 186 + inkscape:pageshadow="2" 187 + inkscape:window-width="1087" 188 + inkscape:window-height="1144" 189 + id="namedview208" 190 + showgrid="true" 191 + inkscape:zoom="1.2009216" 192 + inkscape:cx="408.02381" 193 + inkscape:cy="254.38856" 194 + inkscape:window-x="713" 195 + inkscape:window-y="28" 196 + inkscape:window-maximized="0" 197 + inkscape:current-layer="g4" 198 + fit-margin-top="5" 199 + fit-margin-right="5" 200 + fit-margin-left="5" 201 + fit-margin-bottom="5"> 202 + <inkscape:grid 203 + type="xygrid" 204 + id="grid3079" 205 + empspacing="5" 206 + visible="true" 207 + enabled="true" 208 + snapvisiblegridlinesonly="true" 209 + originx="5.2596966e-08px" 210 + originy="-4.5963961e-06px" /> 211 + </sodipodi:namedview> 212 + <g 213 + style="fill:none;stroke-width:0.025in" 214 + id="g4" 215 + transform="translate(-753.44492,-1306.6788)"> 216 + <path 217 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 218 + d="m 6161.6776,2411.7612 0,6117.1391" 219 + id="path3134-9-0-3" 220 + inkscape:connector-curvature="0" 221 + sodipodi:nodetypes="cc" /> 222 + <path 223 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 224 + d="m 6161.6776,3342.6302 -3856.4573,0 10.6979,5757.1962 2918.1436,-2e-4" 225 + id="path3134-9-0" 226 + inkscape:connector-curvature="0" 227 + sodipodi:nodetypes="cccc" /> 228 + <path 229 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 230 + d="m 6161.6776,3342.6302 3856.4574,0 -12.188,5757.1963 -2918.1436,-3e-4" 231 + id="path3134-9-0-7" 232 + inkscape:connector-curvature="0" 233 + sodipodi:nodetypes="cccc" /> 234 + <!-- Line: box --> 235 + <!-- Line: box --> 236 + <!-- Line: box --> 237 + <!-- Line --> 238 + <!-- Arrowhead on XXXpoint 5250 8100 - 5710 5790--> 239 + <!-- Line --> 240 + <!-- Arrowhead on XXXpoint 4050 9300 - 4512 7140--> 241 + <!-- Line --> 242 + <!-- Arrowhead on XXXpoint 1040 9300 - 1502 7140--> 243 + <!-- Line --> 244 + <!-- Arrowhead on XXXpoint 2240 8100 - 2702 5940--> 245 + <!-- Line: box --> 246 + <!-- Line: box --> 247 + <!-- Line --> 248 + <!-- Arrowhead on XXXpoint 1350 3450 - 2444 2510--> 249 + <!-- Line --> 250 + <!-- Arrowhead on XXXpoint 4950 3450 - 3854 2510--> 251 + <!-- Line --> 252 + <!-- Arrowhead on XXXpoint 4050 6600 - 4050 4290--> 253 + <!-- Line --> 254 + <!-- Arrowhead on XXXpoint 1050 6600 - 1050 4290--> 255 + <!-- Line --> 256 + <!-- Arrowhead on XXXpoint 2250 5400 - 2250 4290--> 257 + <!-- Line --> 258 + <!-- Arrowhead on XXXpoint 2250 8100 - 2250 6240--> 259 + <!-- Line --> 260 + <!-- Arrowhead on XXXpoint 1050 9300 - 1050 7440--> 261 + <!-- Line --> 262 + <!-- Arrowhead on XXXpoint 4050 9300 - 4050 7440--> 263 + <!-- Line --> 264 + <!-- Arrowhead on XXXpoint 5250 8100 - 5250 6240--> 265 + <!-- Circle --> 266 + <!-- Circle --> 267 + <!-- Circle --> 268 + <!-- Circle --> 269 + <!-- Circle --> 270 + <!-- Circle --> 271 + <!-- Circle --> 272 + <!-- Circle --> 273 + <!-- Circle --> 274 + <!-- Line: box --> 275 + <!-- Line: box --> 276 + <!-- Line: box --> 277 + <!-- Line: box --> 278 + <!-- Line: box --> 279 + <!-- Line: box --> 280 + <!-- Line: box --> 281 + <!-- Line: box --> 282 + <!-- Line: box --> 283 + <!-- Line: box --> 284 + <!-- Line --> 285 + <!-- Line --> 286 + <!-- Arrowhead on XXXpoint 9300 3150 - 10860 3150--> 287 + <!-- Line: box --> 288 + <!-- Line --> 289 + <!-- Arrowhead on XXXpoint 11400 3600 - 11400 4410--> 290 + <!-- Line: box --> 291 + <!-- Line --> 292 + <!-- Arrowhead on XXXpoint 11400 5100 - 11400 5910--> 293 + <!-- Line: box --> 294 + <!-- Line --> 295 + <!-- Arrowhead on XXXpoint 9900 4650 - 10860 4650--> 296 + <!-- Line --> 297 + <!-- Arrowhead on XXXpoint 9600 6150 - 10860 6150--> 298 + <!-- Text --> 299 + <!-- Text --> 300 + <!-- Text --> 301 + <!-- Text --> 302 + <!-- Text --> 303 + <!-- Text --> 304 + <!-- Text --> 305 + <!-- Text --> 306 + <!-- Text --> 307 + <!-- Text --> 308 + <!-- Text --> 309 + <!-- Text --> 310 + <!-- Text --> 311 + <!-- Text --> 312 + <!-- Text --> 313 + <!-- Text --> 314 + <!-- Text --> 315 + <!-- Text --> 316 + <!-- Text --> 317 + <!-- Text --> 318 + <!-- Text --> 319 + <!-- Text --> 320 + <!-- Text --> 321 + <!-- Text --> 322 + <!-- Text --> 323 + <!-- Text --> 324 + <!-- Line --> 325 + <!-- Arrowhead on XXXpoint 5250 5400 - 5250 4290--> 326 + <!-- Line: box --> 327 + <!-- Line: box --> 328 + <!-- Line: box --> 329 + <!-- Line: box --> 330 + <!-- Text --> 331 + <!-- Text --> 332 + <!-- Text --> 333 + <!-- Text --> 334 + <!-- Text --> 335 + <rect 336 + x="4544.7305" 337 + y="4603.417" 338 + width="3240.0088" 339 + height="2650.6289" 340 + rx="0" 341 + style="stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 342 + id="rect118" 343 + ry="0" /> 344 + <text 345 + xml:space="preserve" 346 + x="5073.3374" 347 + y="6372.4521" 348 + font-style="normal" 349 + font-weight="bold" 350 + font-size="192" 351 + id="text202" 352 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rcu_accelerate_cbs()</text> 353 + <g 354 + id="g3107" 355 + transform="translate(2715.7065,4700.8888)"> 356 + <rect 357 + id="rect112" 358 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 359 + rx="0" 360 + height="1370.8721" 361 + width="2809.1992" 362 + y="949.37109" 363 + x="2084.55" /> 364 + <rect 365 + id="rect112-3" 366 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 367 + rx="0" 368 + height="1294.8468" 369 + width="2809.1992" 370 + y="1025.3964" 371 + x="2084.55" /> 372 + </g> 373 + <text 374 + xml:space="preserve" 375 + x="4773.3452" 376 + y="4825.2578" 377 + font-style="normal" 378 + font-weight="bold" 379 + font-size="192" 380 + id="text202-7" 381 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_prepare_for_idle()</text> 382 + <rect 383 + x="790.93585" 384 + y="4630.8252" 385 + width="3240.0088" 386 + height="2650.6289" 387 + rx="0" 388 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.0005789, 60.00115781;stroke-dashoffset:0" 389 + id="rect118-3" 390 + ry="0" /> 391 + <text 392 + xml:space="preserve" 393 + x="1319.5447" 394 + y="6639.2261" 395 + font-style="normal" 396 + font-weight="bold" 397 + font-size="192" 398 + id="text202-6" 399 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_accelerate_cbs()</text> 400 + <g 401 + style="fill:none;stroke-width:0.025in" 402 + id="g3107-7" 403 + transform="translate(-1038.0776,4728.2971)"> 404 + <rect 405 + id="rect112-5" 406 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 407 + rx="0" 408 + height="1370.8721" 409 + width="2809.1992" 410 + y="949.37109" 411 + x="2084.55" /> 412 + <rect 413 + id="rect112-3-3" 414 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 415 + rx="0" 416 + height="1294.8468" 417 + width="2809.1992" 418 + y="1025.3964" 419 + x="2084.55" /> 420 + </g> 421 + <text 422 + xml:space="preserve" 423 + x="1019.5512" 424 + y="4852.666" 425 + font-style="normal" 426 + font-weight="bold" 427 + font-size="192" 428 + id="text202-7-5" 429 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">note_gp_changes()</text> 430 + <text 431 + xml:space="preserve" 432 + x="1319.5447" 433 + y="6376.6328" 434 + font-style="normal" 435 + font-weight="bold" 436 + font-size="192" 437 + id="text202-6-6" 438 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_advance_cbs()</text> 439 + <text 440 + xml:space="preserve" 441 + x="1340.6649" 442 + y="6111.4473" 443 + font-style="normal" 444 + font-weight="bold" 445 + font-size="192" 446 + id="text202-6-6-2" 447 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">__note_gp_changes()</text> 448 + <rect 449 + x="5422.6279" 450 + y="3041.8311" 451 + width="1480.4871" 452 + height="379.24637" 453 + rx="0" 454 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.0005789, 60.00115794;stroke-dashoffset:0" 455 + id="rect118-3-9" 456 + ry="0" /> 457 + <text 458 + xml:space="preserve" 459 + x="5607.2734" 460 + y="3283.3892" 461 + font-style="normal" 462 + font-weight="bold" 463 + font-size="192" 464 + id="text202-7-5-1" 465 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">call_rcu()</text> 466 + <path 467 + sodipodi:type="arc" 468 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 469 + id="path3084" 470 + sodipodi:cx="319.379" 471 + sodipodi:cy="345.54001" 472 + sodipodi:rx="65.917107" 473 + sodipodi:ry="39.550262" 474 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 475 + transform="matrix(13.298129,0,0,13.298129,1915.7286,4523.6528)" /> 476 + <text 477 + xml:space="preserve" 478 + x="5853.9238" 479 + y="8902.3623" 480 + font-style="normal" 481 + font-weight="bold" 482 + font-size="192" 483 + id="text202-7-5-1-2" 484 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 485 + sodipodi:linespacing="125%"><tspan 486 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 487 + id="tspan3104">Wake up</tspan></text> 488 + <text 489 + xml:space="preserve" 490 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 491 + x="6165.7158" 492 + y="9122.8174" 493 + id="text3110" 494 + sodipodi:linespacing="125%"><tspan 495 + sodipodi:role="line" 496 + id="tspan3112" 497 + x="6165.7158" 498 + y="9122.8174">grace-period</tspan></text> 499 + <text 500 + xml:space="preserve" 501 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 502 + x="6162.8716" 503 + y="9364.3564" 504 + id="text3114" 505 + sodipodi:linespacing="125%"><tspan 506 + sodipodi:role="line" 507 + id="tspan3116" 508 + x="6162.8716" 509 + y="9364.3564">kernel thread</tspan></text> 510 + <rect 511 + x="8239.8516" 512 + y="4608.7363" 513 + width="3240.0088" 514 + height="2650.6289" 515 + rx="0" 516 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057902, 60.00115804;stroke-dashoffset:0" 517 + id="rect118-36" 518 + ry="0" /> 519 + <text 520 + xml:space="preserve" 521 + x="8768.4678" 522 + y="6484.1562" 523 + font-style="normal" 524 + font-weight="bold" 525 + font-size="192" 526 + id="text202-75" 527 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_accelerate_cbs()</text> 528 + <g 529 + style="fill:none;stroke-width:0.025in" 530 + id="g3107-3" 531 + transform="translate(6410.833,4706.2127)"> 532 + <rect 533 + id="rect112-56" 534 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 535 + rx="0" 536 + height="1370.8721" 537 + width="2809.1992" 538 + y="949.37109" 539 + x="2084.55" /> 540 + <rect 541 + id="rect112-3-2" 542 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 543 + rx="0" 544 + height="1294.8468" 545 + width="2809.1992" 546 + y="1025.3964" 547 + x="2084.55" /> 548 + </g> 549 + <text 550 + xml:space="preserve" 551 + x="8329.5352" 552 + y="4830.5771" 553 + font-style="normal" 554 + font-weight="bold" 555 + font-size="192" 556 + id="text202-7-9" 557 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">takedown_cpu()</text> 558 + <text 559 + xml:space="preserve" 560 + x="8335.4873" 561 + y="5094.127" 562 + font-style="normal" 563 + font-weight="bold" 564 + font-size="192" 565 + id="text202-7-9-6" 566 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_migrate_callbacks()</text> 567 + <text 568 + xml:space="preserve" 569 + x="8335.4873" 570 + y="5357.1006" 571 + font-style="normal" 572 + font-weight="bold" 573 + font-size="192" 574 + id="text202-7-9-6-0" 575 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_migrate_callbacks()</text> 576 + <text 577 + xml:space="preserve" 578 + x="8768.4678" 579 + y="6224.9038" 580 + font-style="normal" 581 + font-weight="bold" 582 + font-size="192" 583 + id="text202-6-6-6" 584 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_advance_cbs()</text> 585 + <text 586 + xml:space="preserve" 587 + x="3467.9963" 588 + y="6987.9912" 589 + font-style="normal" 590 + font-weight="bold" 591 + font-size="192" 592 + id="text202-7-5-1-2-3" 593 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 594 + sodipodi:linespacing="125%"><tspan 595 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 596 + id="tspan3104-6">Leaf</tspan></text> 597 + <text 598 + xml:space="preserve" 599 + x="7220.106" 600 + y="6961.395" 601 + font-style="normal" 602 + font-weight="bold" 603 + font-size="192" 604 + id="text202-7-5-1-2-3-7" 605 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 606 + sodipodi:linespacing="125%"><tspan 607 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 608 + id="tspan3104-6-5">Leaf</tspan></text> 609 + <text 610 + xml:space="preserve" 611 + x="10905.331" 612 + y="6961.395" 613 + font-style="normal" 614 + font-weight="bold" 615 + font-size="192" 616 + id="text202-7-5-1-2-3-7-3" 617 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 618 + sodipodi:linespacing="125%"><tspan 619 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 620 + id="tspan3104-6-5-5">Leaf</tspan></text> 621 + <path 622 + sodipodi:type="arc" 623 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 624 + id="path3084-3" 625 + sodipodi:cx="319.379" 626 + sodipodi:cy="345.54001" 627 + sodipodi:rx="65.917107" 628 + sodipodi:ry="39.550262" 629 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 630 + transform="matrix(13.298129,0,0,13.298129,1872.6808,-2726.4833)" /> 631 + <text 632 + xml:space="preserve" 633 + x="5717.4517" 634 + y="1785.2073" 635 + font-style="normal" 636 + font-weight="bold" 637 + font-size="192" 638 + id="text202-7-5-1-2-6" 639 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 640 + sodipodi:linespacing="125%"><tspan 641 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 642 + id="tspan3104-7">Phase One</tspan></text> 643 + <text 644 + xml:space="preserve" 645 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 646 + x="6119.668" 647 + y="2005.6624" 648 + id="text3110-5" 649 + sodipodi:linespacing="125%"><tspan 650 + sodipodi:role="line" 651 + id="tspan3112-3" 652 + x="6119.668" 653 + y="2005.6624">of Update</tspan></text> 654 + </g> 655 + </svg>
+700
Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="670.61804" 17 + height="557.16394" 18 + viewBox="-44 -44 8917.9652 7405.8166" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-dyntick.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow1Send" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="Arrow1Send-36" 253 + style="overflow:visible"> 254 + <path 255 + id="path3940-0" 256 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 257 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 258 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow1Send" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="Arrow1Send-6" 267 + style="overflow:visible"> 268 + <path 269 + id="path3940-26" 270 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 271 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 272 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 273 + inkscape:connector-curvature="0" /> 274 + </marker> 275 + <marker 276 + inkscape:stockid="Arrow1Send" 277 + orient="auto" 278 + refY="0" 279 + refX="0" 280 + id="Arrow1Send-8" 281 + style="overflow:visible"> 282 + <path 283 + id="path3940-7" 284 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 285 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 286 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 287 + inkscape:connector-curvature="0" /> 288 + </marker> 289 + <marker 290 + inkscape:stockid="Arrow1Send" 291 + orient="auto" 292 + refY="0" 293 + refX="0" 294 + id="Arrow1Send-367" 295 + style="overflow:visible"> 296 + <path 297 + id="path3940-5" 298 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 299 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 300 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 301 + inkscape:connector-curvature="0" /> 302 + </marker> 303 + <marker 304 + inkscape:stockid="Arrow2Lend" 305 + orient="auto" 306 + refY="0" 307 + refX="0" 308 + id="Arrow2Lend-56" 309 + style="overflow:visible"> 310 + <path 311 + id="path3946-2" 312 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 313 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 314 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 315 + inkscape:connector-curvature="0" /> 316 + </marker> 317 + <marker 318 + inkscape:stockid="Arrow2Lend" 319 + orient="auto" 320 + refY="0" 321 + refX="0" 322 + id="marker3081" 323 + style="overflow:visible"> 324 + <path 325 + id="path3083" 326 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 327 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 328 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 329 + inkscape:connector-curvature="0" /> 330 + </marker> 331 + <marker 332 + inkscape:stockid="Arrow2Lend" 333 + orient="auto" 334 + refY="0" 335 + refX="0" 336 + id="marker3085" 337 + style="overflow:visible"> 338 + <path 339 + id="path3087" 340 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 341 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 342 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 343 + inkscape:connector-curvature="0" /> 344 + </marker> 345 + <marker 346 + inkscape:stockid="Arrow2Lend" 347 + orient="auto" 348 + refY="0" 349 + refX="0" 350 + id="marker3089" 351 + style="overflow:visible"> 352 + <path 353 + id="path3091" 354 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 355 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 356 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 357 + inkscape:connector-curvature="0" /> 358 + </marker> 359 + <marker 360 + inkscape:stockid="Arrow2Lend" 361 + orient="auto" 362 + refY="0" 363 + refX="0" 364 + id="marker3093" 365 + style="overflow:visible"> 366 + <path 367 + id="path3095" 368 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 369 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 370 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 371 + inkscape:connector-curvature="0" /> 372 + </marker> 373 + <marker 374 + inkscape:stockid="Arrow2Lend" 375 + orient="auto" 376 + refY="0" 377 + refX="0" 378 + id="marker3097" 379 + style="overflow:visible"> 380 + <path 381 + id="path3099" 382 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 383 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 384 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 385 + inkscape:connector-curvature="0" /> 386 + </marker> 387 + <marker 388 + inkscape:stockid="Arrow1Send" 389 + orient="auto" 390 + refY="0" 391 + refX="0" 392 + id="Arrow1Send-9" 393 + style="overflow:visible"> 394 + <path 395 + id="path3940-1" 396 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 397 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 398 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 399 + inkscape:connector-curvature="0" /> 400 + </marker> 401 + <marker 402 + inkscape:stockid="Arrow1Send" 403 + orient="auto" 404 + refY="0" 405 + refX="0" 406 + id="Arrow1Send-3675" 407 + style="overflow:visible"> 408 + <path 409 + id="path3940-3" 410 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 411 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 412 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 413 + inkscape:connector-curvature="0" /> 414 + </marker> 415 + </defs> 416 + <sodipodi:namedview 417 + pagecolor="#ffffff" 418 + bordercolor="#666666" 419 + borderopacity="1" 420 + objecttolerance="10" 421 + gridtolerance="10" 422 + guidetolerance="10" 423 + inkscape:pageopacity="0" 424 + inkscape:pageshadow="2" 425 + inkscape:window-width="1087" 426 + inkscape:window-height="1148" 427 + id="namedview208" 428 + showgrid="true" 429 + inkscape:zoom="1.4142136" 430 + inkscape:cx="381.32663" 431 + inkscape:cy="239.67141" 432 + inkscape:window-x="833" 433 + inkscape:window-y="24" 434 + inkscape:window-maximized="0" 435 + inkscape:current-layer="svg2" 436 + fit-margin-top="5" 437 + fit-margin-right="5" 438 + fit-margin-left="5" 439 + fit-margin-bottom="5" 440 + inkscape:snap-global="false"> 441 + <inkscape:grid 442 + type="xygrid" 443 + id="grid3154" 444 + empspacing="5" 445 + visible="true" 446 + enabled="true" 447 + snapvisiblegridlinesonly="true" 448 + originx="-235.14935px" 449 + originy="-709.25071px" /> 450 + </sodipodi:namedview> 451 + <path 452 + sodipodi:nodetypes="cc" 453 + inkscape:connector-curvature="0" 454 + id="path3134-9-0-3-1-3-5" 455 + d="m 3754.1051,47.378296 -2.828,7173.860804" 456 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 457 + <path 458 + sodipodi:nodetypes="ccc" 459 + inkscape:connector-curvature="0" 460 + id="path3134-9-0-3-1-3" 461 + d="m 6681.1176,1435.1734 -2.828,1578.9586 -2861.3912,7.7159" 462 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 463 + <path 464 + sodipodi:nodetypes="ccc" 465 + inkscape:connector-curvature="0" 466 + id="path3134-9-0-3-1" 467 + d="m 3748.8929,3772.1176 2904.1747,-0.8434 26.8008,1842.1825" 468 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 469 + <g 470 + id="g3115" 471 + transform="translate(-2341.8794,10827.399)"> 472 + <rect 473 + ry="0" 474 + id="rect118-3" 475 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057923, 60.00115859;stroke-dashoffset:0" 476 + rx="0" 477 + height="2349.7295" 478 + width="5308.7119" 479 + y="-8909.5498" 480 + x="2379.3704" /> 481 + <g 482 + transform="translate(2576.8841,-9085.2783)" 483 + id="g3107-7" 484 + style="fill:none;stroke-width:0.025in"> 485 + <rect 486 + x="2084.55" 487 + y="949.37109" 488 + width="2809.1992" 489 + height="1370.8721" 490 + rx="0" 491 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 492 + id="rect112-5" /> 493 + <rect 494 + x="2084.55" 495 + y="1025.3964" 496 + width="2809.1992" 497 + height="1294.8468" 498 + rx="0" 499 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 500 + id="rect112-3-3" /> 501 + </g> 502 + <text 503 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 504 + id="text202-6-6-2" 505 + font-size="192" 506 + font-weight="bold" 507 + font-style="normal" 508 + y="-7356.375" 509 + x="4769.4536" 510 + xml:space="preserve">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 511 + <text 512 + sodipodi:linespacing="125%" 513 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 514 + id="text202-7-5-1-2-3" 515 + font-size="192" 516 + font-weight="bold" 517 + font-style="normal" 518 + y="-6825.5815" 519 + x="7082.9585" 520 + xml:space="preserve"><tspan 521 + id="tspan3104-6" 522 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 523 + <text 524 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 525 + id="text202-7-2-7-7" 526 + font-size="192" 527 + font-weight="bold" 528 + font-style="normal" 529 + y="-8652.5312" 530 + x="2466.7822" 531 + xml:space="preserve">dyntick_save_progress_counter()</text> 532 + <text 533 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 534 + id="text202-7-2-7-2-0" 535 + font-size="192" 536 + font-weight="bold" 537 + font-style="normal" 538 + y="-8368.1475" 539 + x="2463.3262" 540 + xml:space="preserve">rcu_implicit_dynticks_qs()</text> 541 + </g> 542 + <g 543 + id="g4504" 544 + transform="translate(2063.5184,-16111.739)"> 545 + <path 546 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 547 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 548 + sodipodi:ry="39.550262" 549 + sodipodi:rx="65.917107" 550 + sodipodi:cy="345.54001" 551 + sodipodi:cx="319.379" 552 + id="path3084" 553 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 554 + sodipodi:type="arc" /> 555 + <text 556 + sodipodi:linespacing="125%" 557 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 558 + id="text202-7-5-1-2" 559 + font-size="192" 560 + font-weight="bold" 561 + font-style="normal" 562 + y="16835.086" 563 + x="4409.043" 564 + xml:space="preserve"><tspan 565 + id="tspan3104" 566 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 567 + <text 568 + sodipodi:linespacing="125%" 569 + id="text3110" 570 + y="17055.541" 571 + x="4579.373" 572 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 573 + xml:space="preserve"><tspan 574 + y="17055.541" 575 + x="4579.373" 576 + id="tspan3112" 577 + sodipodi:role="line">read-side</tspan></text> 578 + <text 579 + sodipodi:linespacing="125%" 580 + id="text3114" 581 + y="17297.08" 582 + x="4584.8276" 583 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 584 + xml:space="preserve"><tspan 585 + y="17297.08" 586 + x="4584.8276" 587 + id="tspan3116" 588 + sodipodi:role="line">critical section</tspan></text> 589 + </g> 590 + <g 591 + id="g3148-9-9" 592 + transform="translate(2035.3087,6370.5796)"> 593 + <rect 594 + x="3592.3828" 595 + y="-4715.7246" 596 + width="3164.783" 597 + height="769.99048" 598 + rx="0" 599 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 600 + id="rect118-3-5-1-3" 601 + ry="0" /> 602 + <text 603 + xml:space="preserve" 604 + x="3745.7725" 605 + y="-4418.6582" 606 + font-style="normal" 607 + font-weight="bold" 608 + font-size="192" 609 + id="text202-7-5-3-27-6" 610 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_dynticks_eqs_enter()</text> 611 + <text 612 + xml:space="preserve" 613 + x="3745.7725" 614 + y="-4165.7954" 615 + font-style="normal" 616 + font-weight="bold" 617 + font-size="192" 618 + id="text202-7-5-3-27-0-0" 619 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">atomic_add_return()</text> 620 + </g> 621 + <g 622 + id="g3148-9-9-2" 623 + transform="translate(2035.3089,9031.6839)"> 624 + <rect 625 + x="3592.3828" 626 + y="-4715.7246" 627 + width="3164.783" 628 + height="769.99048" 629 + rx="0" 630 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 631 + id="rect118-3-5-1-3-6" 632 + ry="0" /> 633 + <text 634 + xml:space="preserve" 635 + x="3745.7725" 636 + y="-4418.6582" 637 + font-style="normal" 638 + font-weight="bold" 639 + font-size="192" 640 + id="text202-7-5-3-27-6-1" 641 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_dynticks_eqs_exit()</text> 642 + <text 643 + xml:space="preserve" 644 + x="3745.7725" 645 + y="-4165.7954" 646 + font-style="normal" 647 + font-weight="bold" 648 + font-size="192" 649 + id="text202-7-5-3-27-0-0-8" 650 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">atomic_add_return()</text> 651 + </g> 652 + <g 653 + id="g4504-7" 654 + transform="translate(2082.3248,-10883.562)"> 655 + <path 656 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 657 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 658 + sodipodi:ry="39.550262" 659 + sodipodi:rx="65.917107" 660 + sodipodi:cy="345.54001" 661 + sodipodi:cx="319.379" 662 + id="path3084-9" 663 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 664 + sodipodi:type="arc" /> 665 + <text 666 + sodipodi:linespacing="125%" 667 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 668 + id="text202-7-5-1-2-2" 669 + font-size="192" 670 + font-weight="bold" 671 + font-style="normal" 672 + y="16835.086" 673 + x="4409.043" 674 + xml:space="preserve"><tspan 675 + id="tspan3104-0" 676 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 677 + <text 678 + sodipodi:linespacing="125%" 679 + id="text3110-2" 680 + y="17055.541" 681 + x="4579.373" 682 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 683 + xml:space="preserve"><tspan 684 + y="17055.541" 685 + x="4579.373" 686 + id="tspan3112-3" 687 + sodipodi:role="line">read-side</tspan></text> 688 + <text 689 + sodipodi:linespacing="125%" 690 + id="text3114-7" 691 + y="17297.08" 692 + x="4584.8276" 693 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 694 + xml:space="preserve"><tspan 695 + y="17297.08" 696 + x="4584.8276" 697 + id="tspan3116-5" 698 + sodipodi:role="line">critical section</tspan></text> 699 + </g> 700 + </svg>
+1126
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1026.1281" 17 + height="1246.2428" 18 + viewBox="-44 -44 13645.583 16565.045" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-gp-cleanup.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow2Lend" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="Arrow2Lend-1" 253 + style="overflow:visible"> 254 + <path 255 + id="path3946-2" 256 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 257 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 258 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow2Lend" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="marker3130" 267 + style="overflow:visible"> 268 + <path 269 + id="path3132" 270 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 271 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 272 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 273 + inkscape:connector-curvature="0" /> 274 + </marker> 275 + <marker 276 + inkscape:stockid="Arrow2Lend" 277 + orient="auto" 278 + refY="0" 279 + refX="0" 280 + id="marker3134" 281 + style="overflow:visible"> 282 + <path 283 + id="path3136" 284 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 285 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 286 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 287 + inkscape:connector-curvature="0" /> 288 + </marker> 289 + <marker 290 + inkscape:stockid="Arrow2Lend" 291 + orient="auto" 292 + refY="0" 293 + refX="0" 294 + id="marker3138" 295 + style="overflow:visible"> 296 + <path 297 + id="path3140" 298 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 299 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 300 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 301 + inkscape:connector-curvature="0" /> 302 + </marker> 303 + <marker 304 + inkscape:stockid="Arrow2Lend" 305 + orient="auto" 306 + refY="0" 307 + refX="0" 308 + id="marker3142" 309 + style="overflow:visible"> 310 + <path 311 + id="path3144" 312 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 313 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 314 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 315 + inkscape:connector-curvature="0" /> 316 + </marker> 317 + <marker 318 + inkscape:stockid="Arrow2Lend" 319 + orient="auto" 320 + refY="0" 321 + refX="0" 322 + id="marker3146" 323 + style="overflow:visible"> 324 + <path 325 + id="path3148" 326 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 327 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 328 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 329 + inkscape:connector-curvature="0" /> 330 + </marker> 331 + <marker 332 + inkscape:stockid="Arrow1Send" 333 + orient="auto" 334 + refY="0" 335 + refX="0" 336 + id="Arrow1Send-7" 337 + style="overflow:visible"> 338 + <path 339 + id="path3940-0" 340 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 341 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 342 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 343 + inkscape:connector-curvature="0" /> 344 + </marker> 345 + <marker 346 + inkscape:stockid="Arrow1Send" 347 + orient="auto" 348 + refY="0" 349 + refX="0" 350 + id="Arrow1Send-36" 351 + style="overflow:visible"> 352 + <path 353 + id="path3940-7" 354 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 355 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 356 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 357 + inkscape:connector-curvature="0" /> 358 + </marker> 359 + <marker 360 + inkscape:stockid="Arrow1Send" 361 + orient="auto" 362 + refY="0" 363 + refX="0" 364 + id="Arrow1Send-36-7" 365 + style="overflow:visible"> 366 + <path 367 + id="path3940-7-4" 368 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 369 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 370 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 371 + inkscape:connector-curvature="0" /> 372 + </marker> 373 + </defs> 374 + <sodipodi:namedview 375 + pagecolor="#ffffff" 376 + bordercolor="#666666" 377 + borderopacity="1" 378 + objecttolerance="10" 379 + gridtolerance="10" 380 + guidetolerance="10" 381 + inkscape:pageopacity="0" 382 + inkscape:pageshadow="2" 383 + inkscape:window-width="1087" 384 + inkscape:window-height="1144" 385 + id="namedview208" 386 + showgrid="true" 387 + inkscape:zoom="0.70710678" 388 + inkscape:cx="617.89017" 389 + inkscape:cy="542.52419" 390 + inkscape:window-x="86" 391 + inkscape:window-y="28" 392 + inkscape:window-maximized="0" 393 + inkscape:current-layer="g3188-3" 394 + fit-margin-top="5" 395 + fit-margin-right="5" 396 + fit-margin-left="5" 397 + fit-margin-bottom="5"> 398 + <inkscape:grid 399 + type="xygrid" 400 + id="grid3391" 401 + empspacing="5" 402 + visible="true" 403 + enabled="true" 404 + snapvisiblegridlinesonly="true" 405 + originx="-1.7575793e-05px" 406 + originy="70.717956px" /> 407 + </sodipodi:namedview> 408 + <path 409 + sodipodi:nodetypes="cccccccccccccccccccccccc" 410 + inkscape:connector-curvature="0" 411 + id="path3134-9-0-3" 412 + d="m 6899.303,45.238347 -2.8276,2480.757053 -2316.0141,-1.687 -2.8276,2179.855 2321.1758,-0.844 -2.7042,-1843.237 2404.5142,-0.211 16.1022,1993.267 -7783.8345,-4.728 -16.7936,2120.3945 2033.1033,-23.5344 2.0128,-1866.5611 2051.9097,14.079 2.0128,1838.2983 1280.8475,-4.728 14.608,-1830.1043 1312.2492,12.923 14.608,1818.337 2000.0061,20.4217 -12.279,-1841.4117 1304.168,1.616 -12.279,2032.7057 -4638.6513,1.6154 19.5828,569.0378" 413 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 414 + <g 415 + style="fill:none;stroke-width:0.025in" 416 + transform="translate(2450.4073,-11647.612)" 417 + id="g3188"> 418 + <text 419 + xml:space="preserve" 420 + x="3199.1516" 421 + y="13255.592" 422 + font-style="normal" 423 + font-weight="bold" 424 + font-size="192" 425 + id="text202" 426 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 427 + <g 428 + id="g3107" 429 + transform="translate(947.90548,11584.029)"> 430 + <rect 431 + id="rect112" 432 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 433 + rx="0" 434 + height="1370.8721" 435 + width="2809.1992" 436 + y="949.37109" 437 + x="2084.55" /> 438 + <rect 439 + id="rect112-3" 440 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 441 + rx="0" 442 + height="1294.8468" 443 + width="2809.1992" 444 + y="1025.3964" 445 + x="2084.55" /> 446 + </g> 447 + <text 448 + xml:space="preserve" 449 + x="5452.3052" 450 + y="13844.535" 451 + font-style="normal" 452 + font-weight="bold" 453 + font-size="192" 454 + id="text202-7-5-1-2-3-7" 455 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 456 + sodipodi:linespacing="125%"><tspan 457 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 458 + id="tspan3104-6-5">Root</tspan></text> 459 + </g> 460 + <rect 461 + ry="0" 462 + id="rect118" 463 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 464 + rx="0" 465 + height="14649.609" 466 + width="13482.601" 467 + y="403.13776" 468 + x="37.490932" /> 469 + <text 470 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 471 + id="text202-7" 472 + font-size="192" 473 + font-weight="bold" 474 + font-style="normal" 475 + y="662.59283" 476 + x="153.2673" 477 + xml:space="preserve">rcu_gp_cleanup()</text> 478 + <g 479 + style="fill:none;stroke-width:0.025in" 480 + transform="translate(2329.9437,-11611.245)" 481 + id="g3147"> 482 + <g 483 + style="fill:none;stroke-width:0.025in" 484 + id="g3107-6" 485 + transform="translate(3054.6101,13760.052)"> 486 + <rect 487 + id="rect112-7" 488 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 489 + rx="0" 490 + height="1370.8721" 491 + width="2809.1992" 492 + y="949.37109" 493 + x="2084.55" /> 494 + <rect 495 + id="rect112-3-5" 496 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 497 + rx="0" 498 + height="1294.8468" 499 + width="2809.1992" 500 + y="1025.3964" 501 + x="2084.55" /> 502 + </g> 503 + <text 504 + xml:space="preserve" 505 + x="5324.5371" 506 + y="15414.598" 507 + font-style="normal" 508 + font-weight="bold" 509 + font-size="192" 510 + id="text202-753" 511 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 512 + </g> 513 + <g 514 + style="fill:none;stroke-width:0.025in" 515 + transform="translate(3181.0244,-11647.612)" 516 + id="g3153"> 517 + <g 518 + style="fill:none;stroke-width:0.025in" 519 + id="g3107-6-9" 520 + transform="translate(5213.0126,16008.808)"> 521 + <rect 522 + id="rect112-7-1" 523 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 524 + rx="0" 525 + height="1370.8721" 526 + width="2809.1992" 527 + y="949.37109" 528 + x="2084.55" /> 529 + <rect 530 + id="rect112-3-5-2" 531 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 532 + rx="0" 533 + height="1294.8468" 534 + width="2809.1992" 535 + y="1025.3964" 536 + x="2084.55" /> 537 + </g> 538 + <text 539 + xml:space="preserve" 540 + x="9717.4141" 541 + y="18269.314" 542 + font-style="normal" 543 + font-weight="bold" 544 + font-size="192" 545 + id="text202-7-5-1-2-3-7-35-7" 546 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 547 + sodipodi:linespacing="125%"><tspan 548 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 549 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 550 + <text 551 + xml:space="preserve" 552 + x="7479.5796" 553 + y="17699.943" 554 + font-style="normal" 555 + font-weight="bold" 556 + font-size="192" 557 + id="text202-9" 558 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 559 + <path 560 + sodipodi:nodetypes="cc" 561 + inkscape:connector-curvature="0" 562 + id="path3134-9-0-3-9" 563 + d="m 3710.957,19425.516 -20.9546,8604.655" 564 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 565 + <g 566 + style="fill:none;stroke-width:0.025in" 567 + transform="translate(-737.93887,7732.6672)" 568 + id="g3188-3"> 569 + <text 570 + xml:space="preserve" 571 + x="3225.7478" 572 + y="13175.802" 573 + font-style="normal" 574 + font-weight="bold" 575 + font-size="192" 576 + id="text202-60" 577 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rsp-&gt;completed =</text> 578 + <g 579 + id="g3107-62" 580 + transform="translate(947.90548,11584.029)"> 581 + <rect 582 + id="rect112-6" 583 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 584 + rx="0" 585 + height="1370.8721" 586 + width="2809.1992" 587 + y="949.37109" 588 + x="2084.55" /> 589 + <rect 590 + id="rect112-3-1" 591 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 592 + rx="0" 593 + height="1294.8468" 594 + width="2809.1992" 595 + y="1025.3964" 596 + x="2084.55" /> 597 + </g> 598 + <text 599 + xml:space="preserve" 600 + x="5452.3052" 601 + y="13844.535" 602 + font-style="normal" 603 + font-weight="bold" 604 + font-size="192" 605 + id="text202-7-5-1-2-3-7-8" 606 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 607 + sodipodi:linespacing="125%"><tspan 608 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 609 + id="tspan3104-6-5-7">Root</tspan></text> 610 + <text 611 + xml:space="preserve" 612 + x="3225.7478" 613 + y="13390.038" 614 + font-style="normal" 615 + font-weight="bold" 616 + font-size="192" 617 + id="text202-60-3" 618 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"> rnp-&gt;completed</text> 619 + <flowRoot 620 + xml:space="preserve" 621 + id="flowRoot3356" 622 + style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 623 + transform="matrix(13.298129,0,0,13.298129,-2487.0857,3868.8376)"><flowRegion 624 + id="flowRegion3358"><rect 625 + id="rect3360" 626 + width="373.35239" 627 + height="63.63961" 628 + x="332.34018" 629 + y="681.87292" /></flowRegion><flowPara 630 + id="flowPara3362" /></flowRoot> </g> 631 + <g 632 + style="fill:none;stroke-width:0.025in" 633 + transform="translate(-858.40227,7769.0342)" 634 + id="g3147-9"> 635 + <g 636 + style="fill:none;stroke-width:0.025in" 637 + id="g3107-6-2" 638 + transform="translate(3054.6101,13760.052)"> 639 + <rect 640 + id="rect112-7-02" 641 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 642 + rx="0" 643 + height="1370.8721" 644 + width="2809.1992" 645 + y="949.37109" 646 + x="2084.55" /> 647 + <rect 648 + id="rect112-3-5-3" 649 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 650 + rx="0" 651 + height="1294.8468" 652 + width="2809.1992" 653 + y="1025.3964" 654 + x="2084.55" /> 655 + </g> 656 + </g> 657 + <g 658 + style="fill:none;stroke-width:0.025in" 659 + id="g3107-6-9-5" 660 + transform="translate(5205.6909,23741.476)"> 661 + <rect 662 + id="rect112-7-1-9" 663 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 664 + rx="0" 665 + height="1370.8721" 666 + width="2809.1992" 667 + y="949.37109" 668 + x="2084.55" /> 669 + <rect 670 + id="rect112-3-5-2-2" 671 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 672 + rx="0" 673 + height="1294.8468" 674 + width="2809.1992" 675 + y="1025.3964" 676 + x="2084.55" /> 677 + </g> 678 + <text 679 + xml:space="preserve" 680 + x="9710.0928" 681 + y="26001.982" 682 + font-style="normal" 683 + font-weight="bold" 684 + font-size="192" 685 + id="text202-7-5-1-2-3-7-35-7-2" 686 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 687 + sodipodi:linespacing="125%"><tspan 688 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 689 + id="tspan3104-6-5-6-0-8">Leaf</tspan></text> 690 + <g 691 + transform="translate(-4830.8839,7769.0342)" 692 + id="g3147-3-7" 693 + style="fill:none;stroke-width:0.025in"> 694 + <g 695 + style="fill:none;stroke-width:0.025in" 696 + id="g3107-6-6-3" 697 + transform="translate(3054.6101,13760.052)"> 698 + <rect 699 + id="rect112-7-0-6" 700 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 701 + rx="0" 702 + height="1370.8721" 703 + width="2809.1992" 704 + y="949.37109" 705 + x="2084.55" /> 706 + <rect 707 + id="rect112-3-5-6-1" 708 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 709 + rx="0" 710 + height="1294.8468" 711 + width="2809.1992" 712 + y="1025.3964" 713 + x="2084.55" /> 714 + </g> 715 + </g> 716 + <g 717 + transform="translate(-3340.0639,7732.6672)" 718 + id="g3153-2-9" 719 + style="fill:none;stroke-width:0.025in"> 720 + <g 721 + style="fill:none;stroke-width:0.025in" 722 + id="g3107-6-9-6-3" 723 + transform="translate(5213.0126,16008.808)"> 724 + <rect 725 + id="rect112-7-1-1-1" 726 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 727 + rx="0" 728 + height="1370.8721" 729 + width="2809.1992" 730 + y="949.37109" 731 + x="2084.55" /> 732 + <rect 733 + id="rect112-3-5-2-8-9" 734 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 735 + rx="0" 736 + height="1294.8468" 737 + width="2809.1992" 738 + y="1025.3964" 739 + x="2084.55" /> 740 + </g> 741 + <text 742 + xml:space="preserve" 743 + x="9717.4141" 744 + y="18269.314" 745 + font-style="normal" 746 + font-weight="bold" 747 + font-size="192" 748 + id="text202-7-5-1-2-3-7-35-7-7-4" 749 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 750 + sodipodi:linespacing="125%"><tspan 751 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 752 + id="tspan3104-6-5-6-0-9-7">Leaf</tspan></text> 753 + </g> 754 + <g 755 + transform="translate(-6672.8049,7732.6672)" 756 + id="g3153-20-8" 757 + style="fill:none;stroke-width:0.025in"> 758 + <g 759 + style="fill:none;stroke-width:0.025in" 760 + id="g3107-6-9-2-4" 761 + transform="translate(5213.0126,16008.808)"> 762 + <rect 763 + id="rect112-7-1-3-5" 764 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 765 + rx="0" 766 + height="1370.8721" 767 + width="2809.1992" 768 + y="949.37109" 769 + x="2084.55" /> 770 + <rect 771 + id="rect112-3-5-2-7-0" 772 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 773 + rx="0" 774 + height="1294.8468" 775 + width="2809.1992" 776 + y="1025.3964" 777 + x="2084.55" /> 778 + </g> 779 + <text 780 + xml:space="preserve" 781 + x="9717.4141" 782 + y="18269.314" 783 + font-style="normal" 784 + font-weight="bold" 785 + font-size="192" 786 + id="text202-7-5-1-2-3-7-35-7-5-3" 787 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 788 + sodipodi:linespacing="125%"><tspan 789 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 790 + id="tspan3104-6-5-6-0-92-6">Leaf</tspan></text> 791 + </g> 792 + <g 793 + transform="translate(-10005.546,7732.6672)" 794 + id="g3153-28-0" 795 + style="fill:none;stroke-width:0.025in"> 796 + <g 797 + style="fill:none;stroke-width:0.025in" 798 + id="g3107-6-9-9-6" 799 + transform="translate(5213.0126,16008.808)"> 800 + <rect 801 + id="rect112-7-1-7-3" 802 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 803 + rx="0" 804 + height="1370.8721" 805 + width="2809.1992" 806 + y="949.37109" 807 + x="2084.55" /> 808 + <rect 809 + id="rect112-3-5-2-3-2" 810 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 811 + rx="0" 812 + height="1294.8468" 813 + width="2809.1992" 814 + y="1025.3964" 815 + x="2084.55" /> 816 + </g> 817 + <text 818 + xml:space="preserve" 819 + x="9717.4141" 820 + y="18269.314" 821 + font-style="normal" 822 + font-weight="bold" 823 + font-size="192" 824 + id="text202-7-5-1-2-3-7-35-7-6-0" 825 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 826 + sodipodi:linespacing="125%"><tspan 827 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 828 + id="tspan3104-6-5-6-0-1-6">Leaf</tspan></text> 829 + </g> 830 + <path 831 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 832 + d="m 2285.411,21615.005 -582.9982,865.094" 833 + id="path3414-5" 834 + inkscape:connector-curvature="0" /> 835 + <path 836 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 837 + d="m 5094.193,21615.267 582.998,865.094" 838 + id="path3414-9-5" 839 + inkscape:connector-curvature="0" /> 840 + <path 841 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 842 + d="m 334.77783,23828.182 -582.9982,865.094" 843 + id="path3414-8-4" 844 + inkscape:connector-curvature="0" /> 845 + <path 846 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 847 + d="m 7079.8249,23828.444 582.9999,865.094" 848 + id="path3414-9-4-7" 849 + inkscape:connector-curvature="0" /> 850 + <path 851 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 852 + d="m 1751.2742,23828.182 0,846.288" 853 + id="path3414-8-3-65" 854 + inkscape:connector-curvature="0" 855 + sodipodi:nodetypes="cc" /> 856 + <path 857 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 858 + d="m 5628.2495,23854.778 0,846.288" 859 + id="path3414-8-3-6-6" 860 + inkscape:connector-curvature="0" 861 + sodipodi:nodetypes="cc" /> 862 + </g> 863 + <g 864 + transform="translate(-1642.5377,-11611.245)" 865 + id="g3147-3" 866 + style="fill:none;stroke-width:0.025in"> 867 + <g 868 + style="fill:none;stroke-width:0.025in" 869 + id="g3107-6-6" 870 + transform="translate(3054.6101,13760.052)"> 871 + <rect 872 + id="rect112-7-0" 873 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 874 + rx="0" 875 + height="1370.8721" 876 + width="2809.1992" 877 + y="949.37109" 878 + x="2084.55" /> 879 + <rect 880 + id="rect112-3-5-6" 881 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 882 + rx="0" 883 + height="1294.8468" 884 + width="2809.1992" 885 + y="1025.3964" 886 + x="2084.55" /> 887 + </g> 888 + <text 889 + xml:space="preserve" 890 + x="5327.3057" 891 + y="15428.84" 892 + font-style="normal" 893 + font-weight="bold" 894 + font-size="192" 895 + id="text202-36" 896 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 897 + </g> 898 + <g 899 + transform="translate(-151.71746,-11647.612)" 900 + id="g3153-2" 901 + style="fill:none;stroke-width:0.025in"> 902 + <g 903 + style="fill:none;stroke-width:0.025in" 904 + id="g3107-6-9-6" 905 + transform="translate(5213.0126,16008.808)"> 906 + <rect 907 + id="rect112-7-1-1" 908 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 909 + rx="0" 910 + height="1370.8721" 911 + width="2809.1992" 912 + y="949.37109" 913 + x="2084.55" /> 914 + <rect 915 + id="rect112-3-5-2-8" 916 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 917 + rx="0" 918 + height="1294.8468" 919 + width="2809.1992" 920 + y="1025.3964" 921 + x="2084.55" /> 922 + </g> 923 + <text 924 + xml:space="preserve" 925 + x="9717.4141" 926 + y="18269.314" 927 + font-style="normal" 928 + font-weight="bold" 929 + font-size="192" 930 + id="text202-7-5-1-2-3-7-35-7-7" 931 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 932 + sodipodi:linespacing="125%"><tspan 933 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 934 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 935 + </g> 936 + <g 937 + transform="translate(-3484.4587,-11647.612)" 938 + id="g3153-20" 939 + style="fill:none;stroke-width:0.025in"> 940 + <g 941 + style="fill:none;stroke-width:0.025in" 942 + id="g3107-6-9-2" 943 + transform="translate(5213.0126,16008.808)"> 944 + <rect 945 + id="rect112-7-1-3" 946 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 947 + rx="0" 948 + height="1370.8721" 949 + width="2809.1992" 950 + y="949.37109" 951 + x="2084.55" /> 952 + <rect 953 + id="rect112-3-5-2-7" 954 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 955 + rx="0" 956 + height="1294.8468" 957 + width="2809.1992" 958 + y="1025.3964" 959 + x="2084.55" /> 960 + </g> 961 + <text 962 + xml:space="preserve" 963 + x="9717.4141" 964 + y="18269.314" 965 + font-style="normal" 966 + font-weight="bold" 967 + font-size="192" 968 + id="text202-7-5-1-2-3-7-35-7-5" 969 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 970 + sodipodi:linespacing="125%"><tspan 971 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 972 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 973 + <text 974 + xml:space="preserve" 975 + x="7486.4907" 976 + y="17670.119" 977 + font-style="normal" 978 + font-weight="bold" 979 + font-size="192" 980 + id="text202-6" 981 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 982 + </g> 983 + <g 984 + transform="translate(-6817.1997,-11647.612)" 985 + id="g3153-28" 986 + style="fill:none;stroke-width:0.025in"> 987 + <g 988 + style="fill:none;stroke-width:0.025in" 989 + id="g3107-6-9-9" 990 + transform="translate(5213.0126,16008.808)"> 991 + <rect 992 + id="rect112-7-1-7" 993 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 994 + rx="0" 995 + height="1370.8721" 996 + width="2809.1992" 997 + y="949.37109" 998 + x="2084.55" /> 999 + <rect 1000 + id="rect112-3-5-2-3" 1001 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1002 + rx="0" 1003 + height="1294.8468" 1004 + width="2809.1992" 1005 + y="1025.3964" 1006 + x="2084.55" /> 1007 + </g> 1008 + <text 1009 + xml:space="preserve" 1010 + x="9717.4141" 1011 + y="18269.314" 1012 + font-style="normal" 1013 + font-weight="bold" 1014 + font-size="192" 1015 + id="text202-7-5-1-2-3-7-35-7-6" 1016 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1017 + sodipodi:linespacing="125%"><tspan 1018 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1019 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 1020 + <text 1021 + xml:space="preserve" 1022 + x="7474.1382" 1023 + y="17688.926" 1024 + font-style="normal" 1025 + font-weight="bold" 1026 + font-size="192" 1027 + id="text202-5" 1028 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 1029 + </g> 1030 + <path 1031 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1032 + d="m 5473.757,2234.7264 -582.9982,865.094" 1033 + id="path3414" 1034 + inkscape:connector-curvature="0" /> 1035 + <path 1036 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1037 + d="m 8282.5389,2234.9884 582.9982,865.094" 1038 + id="path3414-9" 1039 + inkscape:connector-curvature="0" /> 1040 + <path 1041 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1042 + d="m 3523.1239,4447.9034 -582.9982,865.094" 1043 + id="path3414-8" 1044 + inkscape:connector-curvature="0" /> 1045 + <path 1046 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1047 + d="m 10268.171,4448.1654 583,865.094" 1048 + id="path3414-9-4" 1049 + inkscape:connector-curvature="0" /> 1050 + <path 1051 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1052 + d="m 4939.6203,4447.9034 0,846.288" 1053 + id="path3414-8-3" 1054 + inkscape:connector-curvature="0" 1055 + sodipodi:nodetypes="cc" /> 1056 + <path 1057 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1058 + d="m 8816.5956,4474.4994 0,846.288" 1059 + id="path3414-8-3-6" 1060 + inkscape:connector-curvature="0" 1061 + sodipodi:nodetypes="cc" /> 1062 + <text 1063 + xml:space="preserve" 1064 + x="7318.9653" 1065 + y="6031.6353" 1066 + font-style="normal" 1067 + font-weight="bold" 1068 + font-size="192" 1069 + id="text202-2" 1070 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 1071 + <g 1072 + style="fill:none;stroke-width:0.025in" 1073 + id="g4504-3-9" 1074 + transform="translate(4866.6205,-1197.2204)"> 1075 + <path 1076 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 1077 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1078 + sodipodi:ry="39.550262" 1079 + sodipodi:rx="65.917107" 1080 + sodipodi:cy="345.54001" 1081 + sodipodi:cx="319.379" 1082 + id="path3084-6-1" 1083 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1084 + sodipodi:type="arc" /> 1085 + <text 1086 + sodipodi:linespacing="125%" 1087 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1088 + id="text202-7-5-1-2-7-2" 1089 + font-size="192" 1090 + font-weight="bold" 1091 + font-style="normal" 1092 + y="16888.277" 1093 + x="4344.877" 1094 + xml:space="preserve"><tspan 1095 + id="tspan3104-5-7" 1096 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Start of</tspan></text> 1097 + <text 1098 + sodipodi:linespacing="125%" 1099 + id="text3110-3-0" 1100 + y="17119.1" 1101 + x="4578.7886" 1102 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1103 + xml:space="preserve"><tspan 1104 + y="17119.1" 1105 + x="4578.7886" 1106 + id="tspan3112-5-9" 1107 + sodipodi:role="line">Next Grace</tspan></text> 1108 + <text 1109 + sodipodi:linespacing="125%" 1110 + id="text3114-6-3" 1111 + y="17350.271" 1112 + x="4581.7886" 1113 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1114 + xml:space="preserve"><tspan 1115 + y="17350.271" 1116 + x="4581.7886" 1117 + id="tspan3116-2-6" 1118 + sodipodi:role="line">Period</tspan></text> 1119 + </g> 1120 + <path 1121 + sodipodi:nodetypes="cc" 1122 + inkscape:connector-curvature="0" 1123 + id="path3134-9-0-3-5" 1124 + d="m 6875.6003,15833.906 1595.7755,0" 1125 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)" /> 1126 + </svg>
+1309
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1626.5847" 17 + height="843.1416" 18 + viewBox="-44 -44 21630.534 11207.028" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-gp-fqs.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow1Send" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="Arrow1Send-36" 253 + style="overflow:visible"> 254 + <path 255 + id="path3940-0" 256 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 257 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 258 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow1Send" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="Arrow1Send-6" 267 + style="overflow:visible"> 268 + <path 269 + id="path3940-26" 270 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 271 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 272 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 273 + inkscape:connector-curvature="0" /> 274 + </marker> 275 + <marker 276 + inkscape:stockid="Arrow1Send" 277 + orient="auto" 278 + refY="0" 279 + refX="0" 280 + id="Arrow1Send-8" 281 + style="overflow:visible"> 282 + <path 283 + id="path3940-7" 284 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 285 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 286 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 287 + inkscape:connector-curvature="0" /> 288 + </marker> 289 + <marker 290 + inkscape:stockid="Arrow1Send" 291 + orient="auto" 292 + refY="0" 293 + refX="0" 294 + id="Arrow1Send-367" 295 + style="overflow:visible"> 296 + <path 297 + id="path3940-5" 298 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 299 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 300 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 301 + inkscape:connector-curvature="0" /> 302 + </marker> 303 + <marker 304 + inkscape:stockid="Arrow2Lend" 305 + orient="auto" 306 + refY="0" 307 + refX="0" 308 + id="Arrow2Lend-56" 309 + style="overflow:visible"> 310 + <path 311 + id="path3946-2" 312 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 313 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 314 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 315 + inkscape:connector-curvature="0" /> 316 + </marker> 317 + <marker 318 + inkscape:stockid="Arrow2Lend" 319 + orient="auto" 320 + refY="0" 321 + refX="0" 322 + id="marker3081" 323 + style="overflow:visible"> 324 + <path 325 + id="path3083" 326 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 327 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 328 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 329 + inkscape:connector-curvature="0" /> 330 + </marker> 331 + <marker 332 + inkscape:stockid="Arrow2Lend" 333 + orient="auto" 334 + refY="0" 335 + refX="0" 336 + id="marker3085" 337 + style="overflow:visible"> 338 + <path 339 + id="path3087" 340 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 341 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 342 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 343 + inkscape:connector-curvature="0" /> 344 + </marker> 345 + <marker 346 + inkscape:stockid="Arrow2Lend" 347 + orient="auto" 348 + refY="0" 349 + refX="0" 350 + id="marker3089" 351 + style="overflow:visible"> 352 + <path 353 + id="path3091" 354 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 355 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 356 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 357 + inkscape:connector-curvature="0" /> 358 + </marker> 359 + <marker 360 + inkscape:stockid="Arrow2Lend" 361 + orient="auto" 362 + refY="0" 363 + refX="0" 364 + id="marker3093" 365 + style="overflow:visible"> 366 + <path 367 + id="path3095" 368 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 369 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 370 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 371 + inkscape:connector-curvature="0" /> 372 + </marker> 373 + <marker 374 + inkscape:stockid="Arrow2Lend" 375 + orient="auto" 376 + refY="0" 377 + refX="0" 378 + id="marker3097" 379 + style="overflow:visible"> 380 + <path 381 + id="path3099" 382 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 383 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 384 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 385 + inkscape:connector-curvature="0" /> 386 + </marker> 387 + <marker 388 + inkscape:stockid="Arrow1Send" 389 + orient="auto" 390 + refY="0" 391 + refX="0" 392 + id="Arrow1Send-9" 393 + style="overflow:visible"> 394 + <path 395 + id="path3940-1" 396 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 397 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 398 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 399 + inkscape:connector-curvature="0" /> 400 + </marker> 401 + <marker 402 + inkscape:stockid="Arrow1Send" 403 + orient="auto" 404 + refY="0" 405 + refX="0" 406 + id="Arrow1Send-91" 407 + style="overflow:visible"> 408 + <path 409 + id="path3940-27" 410 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 411 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 412 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 413 + inkscape:connector-curvature="0" /> 414 + </marker> 415 + <marker 416 + inkscape:stockid="Arrow1Send" 417 + orient="auto" 418 + refY="0" 419 + refX="0" 420 + id="marker3082" 421 + style="overflow:visible"> 422 + <path 423 + id="path3084" 424 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 425 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 426 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 427 + inkscape:connector-curvature="0" /> 428 + </marker> 429 + <marker 430 + inkscape:stockid="Arrow1Send" 431 + orient="auto" 432 + refY="0" 433 + refX="0" 434 + id="Arrow1Send-09" 435 + style="overflow:visible"> 436 + <path 437 + id="path3940-3" 438 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 439 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 440 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 441 + inkscape:connector-curvature="0" /> 442 + </marker> 443 + <marker 444 + inkscape:stockid="Arrow1Send" 445 + orient="auto" 446 + refY="0" 447 + refX="0" 448 + id="marker3093-6" 449 + style="overflow:visible"> 450 + <path 451 + id="path3095-0" 452 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 453 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 454 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 455 + inkscape:connector-curvature="0" /> 456 + </marker> 457 + <marker 458 + inkscape:stockid="Arrow1Send" 459 + orient="auto" 460 + refY="0" 461 + refX="0" 462 + id="Arrow1Send-3675" 463 + style="overflow:visible"> 464 + <path 465 + id="path3940-35" 466 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 467 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 468 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 469 + inkscape:connector-curvature="0" /> 470 + </marker> 471 + </defs> 472 + <sodipodi:namedview 473 + pagecolor="#ffffff" 474 + bordercolor="#666666" 475 + borderopacity="1" 476 + objecttolerance="10" 477 + gridtolerance="10" 478 + guidetolerance="10" 479 + inkscape:pageopacity="0" 480 + inkscape:pageshadow="2" 481 + inkscape:window-width="1087" 482 + inkscape:window-height="1144" 483 + id="namedview208" 484 + showgrid="true" 485 + inkscape:zoom="0.5" 486 + inkscape:cx="843.3925" 487 + inkscape:cy="528.22238" 488 + inkscape:window-x="860" 489 + inkscape:window-y="65" 490 + inkscape:window-maximized="0" 491 + inkscape:current-layer="svg2" 492 + fit-margin-top="5" 493 + fit-margin-right="5" 494 + fit-margin-left="5" 495 + fit-margin-bottom="5" 496 + inkscape:snap-global="false"> 497 + <inkscape:grid 498 + type="xygrid" 499 + id="grid3154" 500 + empspacing="5" 501 + visible="true" 502 + enabled="true" 503 + snapvisiblegridlinesonly="true" 504 + originx="306.04964px" 505 + originy="286.40704px" /> 506 + </sodipodi:namedview> 507 + <path 508 + sodipodi:nodetypes="ccc" 509 + inkscape:connector-curvature="0" 510 + id="path3134-9-0-3-1" 511 + d="m 16000.705,7361.3625 3383.738,-0.8434 7.995,1860.9894" 512 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 513 + <path 514 + sodipodi:nodetypes="ccc" 515 + inkscape:connector-curvature="0" 516 + id="path3134-9-0-3-1-3" 517 + d="m 19393.687,5043.2247 -2.828,1541.346 -3303.342,-1.6876" 518 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 519 + <path 520 + sodipodi:nodetypes="ccc" 521 + inkscape:connector-curvature="0" 522 + id="path3134-9-0-3-1-6" 523 + d="m 5568.2242,7353.9621 -3929.1209,17.9634 20.2153,2632.0515" 524 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 525 + <path 526 + sodipodi:nodetypes="ccc" 527 + inkscape:connector-curvature="0" 528 + id="path3134-9-0-3-1-3-2" 529 + d="m 1629.8598,3926.2473 12.2312,2669.7292 3867.5308,7.7168" 530 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 531 + <path 532 + sodipodi:nodetypes="cccccccccccccccccccccccccccccc" 533 + inkscape:connector-curvature="0" 534 + id="path3134-9-0-3" 535 + d="m 10932.061,46.910528 -2.827,638.638602 -5325.0378,35.9259 -21.6339,7219.96837 2057.8863,-38.4562 -21.5106,-2087.7208 -491.6705,-0.211 -2.7042,-1993.689 1393.686,-4.728 39.6256,4057.454 2379.6691,32.779 14.608,-1848.911 1312.249,12.923 14.608,1818.337 2000.007,20.422 -12.28,-1841.412 1191.331,1.616 15.929,1289.8537 520.344,0.202 m 0,0 -15.641,-1570.1327 -2629.727,-18.604 3.166,-2124.92 -2385.245,19.007 21.973,-2444.6293 5551.053,37.8148 1.584,7165.3369 m 0,0 -5602.722,0.1016 19.583,813.521" 536 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 537 + <rect 538 + ry="0" 539 + id="rect118" 540 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057925, 60.0011585;stroke-dashoffset:0" 541 + rx="0" 542 + height="8254.9336" 543 + width="14128.912" 544 + y="443.33136" 545 + x="4032.6365" /> 546 + <text 547 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 548 + id="text202-7" 549 + font-size="192" 550 + font-weight="bold" 551 + font-style="normal" 552 + y="720.02423" 553 + x="4178.2354" 554 + xml:space="preserve">rcu_gp_fqs()</text> 555 + <g 556 + style="fill:none;stroke-width:0.025in" 557 + transform="translate(6381.5083,-10649.537)" 558 + id="g3147"> 559 + <g 560 + style="fill:none;stroke-width:0.025in" 561 + id="g3107-6" 562 + transform="translate(3054.6101,13760.052)"> 563 + <rect 564 + id="rect112-7" 565 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 566 + rx="0" 567 + height="1370.8721" 568 + width="2809.1992" 569 + y="949.37109" 570 + x="2084.55" /> 571 + <rect 572 + id="rect112-3-5" 573 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 574 + rx="0" 575 + height="1294.8468" 576 + width="2809.1992" 577 + y="1025.3964" 578 + x="2084.55" /> 579 + </g> 580 + <text 581 + xml:space="preserve" 582 + x="5250.5327" 583 + y="15512.733" 584 + font-style="normal" 585 + font-weight="bold" 586 + font-size="192" 587 + id="text202-35" 588 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 589 + </g> 590 + <g 591 + style="fill:none;stroke-width:0.025in" 592 + transform="translate(7232.589,-10685.904)" 593 + id="g3153"> 594 + <g 595 + style="fill:none;stroke-width:0.025in" 596 + id="g3107-6-9" 597 + transform="translate(5213.0126,16008.808)"> 598 + <rect 599 + id="rect112-7-1" 600 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 601 + rx="0" 602 + height="1370.8721" 603 + width="2809.1992" 604 + y="949.37109" 605 + x="2084.55" /> 606 + <rect 607 + id="rect112-3-5-2" 608 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 609 + rx="0" 610 + height="1294.8468" 611 + width="2809.1992" 612 + y="1025.3964" 613 + x="2084.55" /> 614 + </g> 615 + <text 616 + xml:space="preserve" 617 + x="9717.4141" 618 + y="18269.314" 619 + font-style="normal" 620 + font-weight="bold" 621 + font-size="192" 622 + id="text202-7-5-1-2-3-7-35-7" 623 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 624 + sodipodi:linespacing="125%"><tspan 625 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 626 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 627 + </g> 628 + <g 629 + transform="translate(2409.0267,-10649.537)" 630 + id="g3147-3" 631 + style="fill:none;stroke-width:0.025in"> 632 + <g 633 + style="fill:none;stroke-width:0.025in" 634 + id="g3107-6-6" 635 + transform="translate(3054.6101,13760.052)"> 636 + <rect 637 + id="rect112-7-0" 638 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 639 + rx="0" 640 + height="1370.8721" 641 + width="2809.1992" 642 + y="949.37109" 643 + x="2084.55" /> 644 + <rect 645 + id="rect112-3-5-6" 646 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 647 + rx="0" 648 + height="1294.8468" 649 + width="2809.1992" 650 + y="1025.3964" 651 + x="2084.55" /> 652 + </g> 653 + <text 654 + xml:space="preserve" 655 + x="5284.6885" 656 + y="15500.379" 657 + font-style="normal" 658 + font-weight="bold" 659 + font-size="192" 660 + id="text202-6" 661 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 662 + </g> 663 + <g 664 + transform="translate(3899.8472,-10685.904)" 665 + id="g3153-2" 666 + style="fill:none;stroke-width:0.025in"> 667 + <g 668 + style="fill:none;stroke-width:0.025in" 669 + id="g3107-6-9-6" 670 + transform="translate(5213.0126,16008.808)"> 671 + <rect 672 + id="rect112-7-1-1" 673 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 674 + rx="0" 675 + height="1370.8721" 676 + width="2809.1992" 677 + y="949.37109" 678 + x="2084.55" /> 679 + <rect 680 + id="rect112-3-5-2-8" 681 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 682 + rx="0" 683 + height="1294.8468" 684 + width="2809.1992" 685 + y="1025.3964" 686 + x="2084.55" /> 687 + </g> 688 + <text 689 + xml:space="preserve" 690 + x="9717.4141" 691 + y="18269.314" 692 + font-style="normal" 693 + font-weight="bold" 694 + font-size="192" 695 + id="text202-7-5-1-2-3-7-35-7-7" 696 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 697 + sodipodi:linespacing="125%"><tspan 698 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 699 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 700 + </g> 701 + <g 702 + transform="translate(567.10542,-10685.904)" 703 + id="g3153-20" 704 + style="fill:none;stroke-width:0.025in"> 705 + <g 706 + style="fill:none;stroke-width:0.025in" 707 + id="g3107-6-9-2" 708 + transform="translate(5213.0126,16008.808)"> 709 + <rect 710 + id="rect112-7-1-3" 711 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 712 + rx="0" 713 + height="1370.8721" 714 + width="2809.1992" 715 + y="949.37109" 716 + x="2084.55" /> 717 + <rect 718 + id="rect112-3-5-2-7" 719 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 720 + rx="0" 721 + height="1294.8468" 722 + width="2809.1992" 723 + y="1025.3964" 724 + x="2084.55" /> 725 + </g> 726 + <text 727 + xml:space="preserve" 728 + x="9717.4141" 729 + y="18269.314" 730 + font-style="normal" 731 + font-weight="bold" 732 + font-size="192" 733 + id="text202-7-5-1-2-3-7-35-7-5" 734 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 735 + sodipodi:linespacing="125%"><tspan 736 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 737 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 738 + </g> 739 + <g 740 + transform="translate(-2765.6353,-10685.904)" 741 + id="g3153-28" 742 + style="fill:none;stroke-width:0.025in"> 743 + <g 744 + style="fill:none;stroke-width:0.025in" 745 + id="g3107-6-9-9" 746 + transform="translate(5213.0126,16008.808)"> 747 + <rect 748 + id="rect112-7-1-7" 749 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 750 + rx="0" 751 + height="1370.8721" 752 + width="2809.1992" 753 + y="949.37109" 754 + x="2084.55" /> 755 + <rect 756 + id="rect112-3-5-2-3" 757 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 758 + rx="0" 759 + height="1294.8468" 760 + width="2809.1992" 761 + y="1025.3964" 762 + x="2084.55" /> 763 + </g> 764 + <text 765 + xml:space="preserve" 766 + x="9717.4141" 767 + y="18269.314" 768 + font-style="normal" 769 + font-weight="bold" 770 + font-size="192" 771 + id="text202-7-5-1-2-3-7-35-7-6" 772 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 773 + sodipodi:linespacing="125%"><tspan 774 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 775 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 776 + <text 777 + xml:space="preserve" 778 + x="7428.2939" 779 + y="17707.271" 780 + font-style="normal" 781 + font-weight="bold" 782 + font-size="192" 783 + id="text202-75" 784 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 785 + </g> 786 + <path 787 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 788 + d="m 9525.3217,3196.4324 -582.9982,865.094" 789 + id="path3414" 790 + inkscape:connector-curvature="0" /> 791 + <path 792 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 793 + d="m 12334.103,3196.6944 582.999,865.094" 794 + id="path3414-9" 795 + inkscape:connector-curvature="0" /> 796 + <path 797 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 798 + d="m 7574.6885,5409.6094 -582.9983,865.094" 799 + id="path3414-8" 800 + inkscape:connector-curvature="0" /> 801 + <path 802 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 803 + d="m 14319.735,5409.8714 583.001,865.094" 804 + id="path3414-9-4" 805 + inkscape:connector-curvature="0" /> 806 + <path 807 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 808 + d="m 8991.1849,5409.6094 0,846.288" 809 + id="path3414-8-3" 810 + inkscape:connector-curvature="0" 811 + sodipodi:nodetypes="cc" /> 812 + <path 813 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 814 + d="m 12868.16,5436.2054 0,846.288" 815 + id="path3414-8-3-6" 816 + inkscape:connector-curvature="0" 817 + sodipodi:nodetypes="cc" /> 818 + <rect 819 + ry="0" 820 + id="rect118-1" 821 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057965, 60.00115916;stroke-dashoffset:0" 822 + rx="0" 823 + height="7164.1621" 824 + width="13301.43" 825 + y="984.91095" 826 + x="4277.6021" /> 827 + <text 828 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 829 + id="text202-7-2" 830 + font-size="192" 831 + font-weight="bold" 832 + font-style="normal" 833 + y="1236.326" 834 + x="4409.96" 835 + xml:space="preserve" 836 + sodipodi:linespacing="125%">force_qs_rnp()<tspan 837 + style="font-size:192px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 838 + id="tspan3307" /></text> 839 + <text 840 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 841 + id="text202-7-2-7" 842 + font-size="192" 843 + font-weight="bold" 844 + font-style="normal" 845 + y="1547.8876" 846 + x="4417.6396" 847 + xml:space="preserve">dyntick_save_progress_counter()</text> 848 + <g 849 + style="fill:none;stroke-width:0.025in" 850 + transform="translate(6501.9719,-10685.904)" 851 + id="g3188"> 852 + <g 853 + id="g3107" 854 + transform="translate(947.90548,11584.029)"> 855 + <rect 856 + id="rect112" 857 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 858 + rx="0" 859 + height="1370.8721" 860 + width="2809.1992" 861 + y="949.37109" 862 + x="2084.55" /> 863 + <rect 864 + id="rect112-3" 865 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 866 + rx="0" 867 + height="1294.8468" 868 + width="2809.1992" 869 + y="1025.3964" 870 + x="2084.55" /> 871 + </g> 872 + <text 873 + xml:space="preserve" 874 + x="5452.3052" 875 + y="13844.535" 876 + font-style="normal" 877 + font-weight="bold" 878 + font-size="192" 879 + id="text202-7-5-1-2-3-7" 880 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 881 + sodipodi:linespacing="125%"><tspan 882 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 883 + id="tspan3104-6-5">Root</tspan></text> 884 + <text 885 + xml:space="preserve" 886 + x="3158.8521" 887 + y="13313.027" 888 + font-style="normal" 889 + font-weight="bold" 890 + font-size="192" 891 + id="text202" 892 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 893 + </g> 894 + <text 895 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 896 + id="text202-7-2-7-2" 897 + font-size="192" 898 + font-weight="bold" 899 + font-style="normal" 900 + y="1858.8729" 901 + x="4414.1836" 902 + xml:space="preserve">rcu_implicit_dynticks_qs()</text> 903 + <text 904 + xml:space="preserve" 905 + x="14659.87" 906 + y="7002.561" 907 + font-style="normal" 908 + font-weight="bold" 909 + font-size="192" 910 + id="text202-62" 911 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 912 + <g 913 + id="g4504" 914 + transform="translate(14776.087,-12503.687)"> 915 + <path 916 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 917 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 918 + sodipodi:ry="39.550262" 919 + sodipodi:rx="65.917107" 920 + sodipodi:cy="345.54001" 921 + sodipodi:cx="319.379" 922 + id="path3089" 923 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 924 + sodipodi:type="arc" /> 925 + <text 926 + sodipodi:linespacing="125%" 927 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 928 + id="text202-7-5-1-2" 929 + font-size="192" 930 + font-weight="bold" 931 + font-style="normal" 932 + y="16835.086" 933 + x="4409.043" 934 + xml:space="preserve"><tspan 935 + id="tspan3104" 936 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 937 + <text 938 + sodipodi:linespacing="125%" 939 + id="text3110" 940 + y="17055.541" 941 + x="4579.373" 942 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 943 + xml:space="preserve"><tspan 944 + y="17055.541" 945 + x="4579.373" 946 + id="tspan3112" 947 + sodipodi:role="line">read-side</tspan></text> 948 + <text 949 + sodipodi:linespacing="125%" 950 + id="text3114" 951 + y="17297.08" 952 + x="4584.8276" 953 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 954 + xml:space="preserve"><tspan 955 + y="17297.08" 956 + x="4584.8276" 957 + id="tspan3116" 958 + sodipodi:role="line">critical section</tspan></text> 959 + </g> 960 + <g 961 + id="g3148-9-9" 962 + transform="translate(14747.877,9978.6315)"> 963 + <rect 964 + x="3592.3828" 965 + y="-4715.7246" 966 + width="3164.783" 967 + height="769.99048" 968 + rx="0" 969 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 970 + id="rect118-3-5-1-3" 971 + ry="0" /> 972 + <text 973 + xml:space="preserve" 974 + x="3745.7725" 975 + y="-4418.6582" 976 + font-style="normal" 977 + font-weight="bold" 978 + font-size="192" 979 + id="text202-7-5-3-27-6" 980 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_dynticks_eqs_enter()</text> 981 + <text 982 + xml:space="preserve" 983 + x="3745.7725" 984 + y="-4165.7954" 985 + font-style="normal" 986 + font-weight="bold" 987 + font-size="192" 988 + id="text202-7-5-3-27-0-0" 989 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">atomic_add_return()</text> 990 + </g> 991 + <g 992 + id="g3148-9-9-2" 993 + transform="translate(14747.877,12639.736)"> 994 + <rect 995 + x="3592.3828" 996 + y="-4715.7246" 997 + width="3164.783" 998 + height="769.99048" 999 + rx="0" 1000 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 1001 + id="rect118-3-5-1-3-6" 1002 + ry="0" /> 1003 + <text 1004 + xml:space="preserve" 1005 + x="3745.7725" 1006 + y="-4418.6582" 1007 + font-style="normal" 1008 + font-weight="bold" 1009 + font-size="192" 1010 + id="text202-7-5-3-27-6-1" 1011 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_dynticks_eqs_exit()</text> 1012 + <text 1013 + xml:space="preserve" 1014 + x="3745.7725" 1015 + y="-4165.7954" 1016 + font-style="normal" 1017 + font-weight="bold" 1018 + font-size="192" 1019 + id="text202-7-5-3-27-0-0-8" 1020 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">atomic_add_return()</text> 1021 + </g> 1022 + <g 1023 + id="g4504-7" 1024 + transform="translate(14794.893,-7275.5109)"> 1025 + <path 1026 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 1027 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1028 + sodipodi:ry="39.550262" 1029 + sodipodi:rx="65.917107" 1030 + sodipodi:cy="345.54001" 1031 + sodipodi:cx="319.379" 1032 + id="path3084-9" 1033 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1034 + sodipodi:type="arc" /> 1035 + <text 1036 + sodipodi:linespacing="125%" 1037 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1038 + id="text202-7-5-1-2-2" 1039 + font-size="192" 1040 + font-weight="bold" 1041 + font-style="normal" 1042 + y="16835.086" 1043 + x="4409.043" 1044 + xml:space="preserve"><tspan 1045 + id="tspan3104-0" 1046 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 1047 + <text 1048 + sodipodi:linespacing="125%" 1049 + id="text3110-2" 1050 + y="17055.541" 1051 + x="4579.373" 1052 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1053 + xml:space="preserve"><tspan 1054 + y="17055.541" 1055 + x="4579.373" 1056 + id="tspan3112-3" 1057 + sodipodi:role="line">read-side</tspan></text> 1058 + <text 1059 + sodipodi:linespacing="125%" 1060 + id="text3114-7" 1061 + y="17297.08" 1062 + x="4584.8276" 1063 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1064 + xml:space="preserve"><tspan 1065 + y="17297.08" 1066 + x="4584.8276" 1067 + id="tspan3116-5" 1068 + sodipodi:role="line">critical section</tspan></text> 1069 + </g> 1070 + <g 1071 + id="g4504-6" 1072 + transform="translate(-2953.0872,-13662.506)"> 1073 + <path 1074 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 1075 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1076 + sodipodi:ry="39.550262" 1077 + sodipodi:rx="65.917107" 1078 + sodipodi:cy="345.54001" 1079 + sodipodi:cx="319.379" 1080 + id="path3084-1" 1081 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1082 + sodipodi:type="arc" /> 1083 + <text 1084 + sodipodi:linespacing="125%" 1085 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1086 + id="text202-7-5-1-2-8" 1087 + font-size="192" 1088 + font-weight="bold" 1089 + font-style="normal" 1090 + y="16835.086" 1091 + x="4409.043" 1092 + xml:space="preserve"><tspan 1093 + id="tspan3104-7" 1094 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 1095 + <text 1096 + sodipodi:linespacing="125%" 1097 + id="text3110-9" 1098 + y="17055.541" 1099 + x="4579.373" 1100 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1101 + xml:space="preserve"><tspan 1102 + y="17055.541" 1103 + x="4579.373" 1104 + id="tspan3112-2" 1105 + sodipodi:role="line">read-side</tspan></text> 1106 + <text 1107 + sodipodi:linespacing="125%" 1108 + id="text3114-0" 1109 + y="17297.08" 1110 + x="4584.8276" 1111 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1112 + xml:space="preserve"><tspan 1113 + y="17297.08" 1114 + x="4584.8276" 1115 + id="tspan3116-2" 1116 + sodipodi:role="line">critical section</tspan></text> 1117 + </g> 1118 + <g 1119 + id="g3148-9-9-3" 1120 + transform="translate(-3554.8919,9313.0075)"> 1121 + <rect 1122 + x="3592.3828" 1123 + y="-4981.6865" 1124 + width="3728.9751" 1125 + height="2265.0989" 1126 + rx="0" 1127 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 1128 + id="rect118-3-5-1-3-7" 1129 + ry="0" /> 1130 + <text 1131 + xml:space="preserve" 1132 + x="3745.7725" 1133 + y="-4684.6201" 1134 + font-style="normal" 1135 + font-weight="bold" 1136 + font-size="192" 1137 + id="text202-7-5-3-27-6-5" 1138 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_report_dead()</text> 1139 + <text 1140 + xml:space="preserve" 1141 + x="3745.7725" 1142 + y="-4431.7573" 1143 + font-style="normal" 1144 + font-weight="bold" 1145 + font-size="192" 1146 + id="text202-7-5-3-27-0-0-9" 1147 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_cleanup_dying_idle_cpu()</text> 1148 + <g 1149 + transform="translate(1783.3183,-5255.3491)" 1150 + id="g3107-7-5" 1151 + style="fill:none;stroke-width:0.025in"> 1152 + <rect 1153 + x="2084.55" 1154 + y="949.37109" 1155 + width="2809.1992" 1156 + height="1370.8721" 1157 + rx="0" 1158 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1159 + id="rect112-5-3" /> 1160 + <rect 1161 + x="2084.55" 1162 + y="1025.3964" 1163 + width="2809.1992" 1164 + height="1294.8468" 1165 + rx="0" 1166 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1167 + id="rect112-3-3-5" /> 1168 + </g> 1169 + <text 1170 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1171 + id="text202-6-6-2-6" 1172 + font-size="192" 1173 + font-weight="bold" 1174 + font-style="normal" 1175 + y="-3526.4448" 1176 + x="4241.8574" 1177 + xml:space="preserve">-&gt;qsmaskinitnext</text> 1178 + <text 1179 + sodipodi:linespacing="125%" 1180 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1181 + id="text202-7-5-1-2-3-2" 1182 + font-size="192" 1183 + font-weight="bold" 1184 + font-style="normal" 1185 + y="-2987.4167" 1186 + x="6305.1484" 1187 + xml:space="preserve"><tspan 1188 + id="tspan3104-6-9" 1189 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 1190 + </g> 1191 + <g 1192 + id="g4504-7-2" 1193 + transform="translate(-2934.2807,-6492.8204)"> 1194 + <path 1195 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 1196 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1197 + sodipodi:ry="39.550262" 1198 + sodipodi:rx="65.917107" 1199 + sodipodi:cy="345.54001" 1200 + sodipodi:cx="319.379" 1201 + id="path3084-9-2" 1202 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1203 + sodipodi:type="arc" /> 1204 + <text 1205 + sodipodi:linespacing="125%" 1206 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1207 + id="text202-7-5-1-2-2-8" 1208 + font-size="192" 1209 + font-weight="bold" 1210 + font-style="normal" 1211 + y="16835.086" 1212 + x="4409.043" 1213 + xml:space="preserve"><tspan 1214 + id="tspan3104-0-9" 1215 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 1216 + <text 1217 + sodipodi:linespacing="125%" 1218 + id="text3110-2-7" 1219 + y="17055.541" 1220 + x="4579.373" 1221 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1222 + xml:space="preserve"><tspan 1223 + y="17055.541" 1224 + x="4579.373" 1225 + id="tspan3112-3-3" 1226 + sodipodi:role="line">read-side</tspan></text> 1227 + <text 1228 + sodipodi:linespacing="125%" 1229 + id="text3114-7-6" 1230 + y="17297.08" 1231 + x="4584.8276" 1232 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1233 + xml:space="preserve"><tspan 1234 + y="17297.08" 1235 + x="4584.8276" 1236 + id="tspan3116-5-1" 1237 + sodipodi:role="line">critical section</tspan></text> 1238 + </g> 1239 + <g 1240 + id="g3206" 1241 + transform="translate(3999.5374,3999.1768)"> 1242 + <rect 1243 + ry="0" 1244 + id="rect118-3-5-1-3-1" 1245 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00058007, 60.00116001;stroke-dashoffset:0" 1246 + rx="0" 1247 + height="2265.0989" 1248 + width="3728.9751" 1249 + y="3382.2036" 1250 + x="-3958.3845" /> 1251 + <text 1252 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1253 + id="text202-7-5-3-27-6-2" 1254 + font-size="192" 1255 + font-weight="bold" 1256 + font-style="normal" 1257 + y="3679.27" 1258 + x="-3804.9949" 1259 + xml:space="preserve">rcu_cpu_starting()</text> 1260 + <g 1261 + style="fill:none;stroke-width:0.025in" 1262 + id="g3107-7-5-0" 1263 + transform="translate(-5767.4491,3108.5424)"> 1264 + <rect 1265 + id="rect112-5-3-9" 1266 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1267 + rx="0" 1268 + height="1370.8721" 1269 + width="2809.1992" 1270 + y="949.37109" 1271 + x="2084.55" /> 1272 + <rect 1273 + id="rect112-3-3-5-3" 1274 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1275 + rx="0" 1276 + height="1294.8468" 1277 + width="2809.1992" 1278 + y="1025.3964" 1279 + x="2084.55" /> 1280 + </g> 1281 + <text 1282 + xml:space="preserve" 1283 + x="-3308.9099" 1284 + y="4837.4453" 1285 + font-style="normal" 1286 + font-weight="bold" 1287 + font-size="192" 1288 + id="text202-6-6-2-6-6" 1289 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 1290 + <text 1291 + xml:space="preserve" 1292 + x="-1245.6189" 1293 + y="5376.4731" 1294 + font-style="normal" 1295 + font-weight="bold" 1296 + font-size="192" 1297 + id="text202-7-5-1-2-3-2-0" 1298 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1299 + sodipodi:linespacing="125%"><tspan 1300 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1301 + id="tspan3104-6-9-6">Leaf</tspan></text> 1302 + </g> 1303 + <path 1304 + sodipodi:nodetypes="cc" 1305 + inkscape:connector-curvature="0" 1306 + id="path3134-9-0-3-1-3-6" 1307 + d="m 15475.193,7360.7089 467.332,8.6247" 1308 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 1309 + </svg>
+656
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1039.3743" 17 + height="677.72852" 18 + viewBox="-44 -44 13821.733 9008.3597" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-gp-init-1.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow1Send" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="Arrow1Send-36" 253 + style="overflow:visible"> 254 + <path 255 + id="path3940-7" 256 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 257 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 258 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + </defs> 262 + <sodipodi:namedview 263 + pagecolor="#ffffff" 264 + bordercolor="#666666" 265 + borderopacity="1" 266 + objecttolerance="10" 267 + gridtolerance="10" 268 + guidetolerance="10" 269 + inkscape:pageopacity="0" 270 + inkscape:pageshadow="2" 271 + inkscape:window-width="1087" 272 + inkscape:window-height="1144" 273 + id="namedview208" 274 + showgrid="true" 275 + inkscape:zoom="0.70710678" 276 + inkscape:cx="617.89019" 277 + inkscape:cy="636.57143" 278 + inkscape:window-x="697" 279 + inkscape:window-y="28" 280 + inkscape:window-maximized="0" 281 + inkscape:current-layer="svg2" 282 + fit-margin-top="5" 283 + fit-margin-right="5" 284 + fit-margin-left="5" 285 + fit-margin-bottom="5"> 286 + <inkscape:grid 287 + type="xygrid" 288 + id="grid3059" 289 + empspacing="5" 290 + visible="true" 291 + enabled="true" 292 + snapvisiblegridlinesonly="true" 293 + originx="1.6062488e-07px" 294 + originy="10.7285px" /> 295 + </sodipodi:namedview> 296 + <path 297 + sodipodi:nodetypes="cc" 298 + inkscape:connector-curvature="0" 299 + id="path3134-9-0-3" 300 + d="m 6871.027,46.883461 0,8777.144039" 301 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 302 + <g 303 + style="fill:none;stroke-width:0.025in" 304 + transform="translate(2450.4075,-10679.115)" 305 + id="g3188"> 306 + <text 307 + xml:space="preserve" 308 + x="3305.5364" 309 + y="13255.592" 310 + font-style="normal" 311 + font-weight="bold" 312 + font-size="192" 313 + id="text202" 314 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rsp-&gt;gpnum++</text> 315 + <g 316 + id="g3107" 317 + transform="translate(947.90548,11584.029)"> 318 + <rect 319 + id="rect112" 320 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 321 + rx="0" 322 + height="1370.8721" 323 + width="2809.1992" 324 + y="949.37109" 325 + x="2084.55" /> 326 + <rect 327 + id="rect112-3" 328 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 329 + rx="0" 330 + height="1294.8468" 331 + width="2809.1992" 332 + y="1025.3964" 333 + x="2084.55" /> 334 + </g> 335 + <text 336 + xml:space="preserve" 337 + x="5452.3052" 338 + y="13844.535" 339 + font-style="normal" 340 + font-weight="bold" 341 + font-size="192" 342 + id="text202-7-5-1-2-3-7" 343 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 344 + sodipodi:linespacing="125%"><tspan 345 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 346 + id="tspan3104-6-5">Root</tspan></text> 347 + </g> 348 + <rect 349 + ry="0" 350 + id="rect118" 351 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 352 + rx="0" 353 + height="6844.4546" 354 + width="13658.751" 355 + y="1371.6335" 356 + x="37.490932" /> 357 + <text 358 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 359 + id="text202-7" 360 + font-size="192" 361 + font-weight="bold" 362 + font-style="normal" 363 + y="1631.0878" 364 + x="153.26733" 365 + xml:space="preserve">rcu_gp_init()</text> 366 + <g 367 + style="fill:none;stroke-width:0.025in" 368 + transform="translate(2329.9439,-10642.748)" 369 + id="g3147"> 370 + <g 371 + style="fill:none;stroke-width:0.025in" 372 + id="g3107-6" 373 + transform="translate(3054.6101,13760.052)"> 374 + <rect 375 + id="rect112-7" 376 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 377 + rx="0" 378 + height="1370.8721" 379 + width="2809.1992" 380 + y="949.37109" 381 + x="2084.55" /> 382 + <rect 383 + id="rect112-3-5" 384 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 385 + rx="0" 386 + height="1294.8468" 387 + width="2809.1992" 388 + y="1025.3964" 389 + x="2084.55" /> 390 + </g> 391 + </g> 392 + <g 393 + style="fill:none;stroke-width:0.025in" 394 + transform="translate(3181.0246,-10679.115)" 395 + id="g3153"> 396 + <g 397 + style="fill:none;stroke-width:0.025in" 398 + id="g3107-6-9" 399 + transform="translate(5213.0126,16008.808)"> 400 + <rect 401 + id="rect112-7-1" 402 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 403 + rx="0" 404 + height="1370.8721" 405 + width="2809.1992" 406 + y="949.37109" 407 + x="2084.55" /> 408 + <rect 409 + id="rect112-3-5-2" 410 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 411 + rx="0" 412 + height="1294.8468" 413 + width="2809.1992" 414 + y="1025.3964" 415 + x="2084.55" /> 416 + </g> 417 + <text 418 + xml:space="preserve" 419 + x="9717.4141" 420 + y="18269.314" 421 + font-style="normal" 422 + font-weight="bold" 423 + font-size="192" 424 + id="text202-7-5-1-2-3-7-35-7" 425 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 426 + sodipodi:linespacing="125%"><tspan 427 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 428 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 429 + </g> 430 + <g 431 + transform="translate(-1642.5375,-10642.748)" 432 + id="g3147-3" 433 + style="fill:none;stroke-width:0.025in"> 434 + <g 435 + style="fill:none;stroke-width:0.025in" 436 + id="g3107-6-6" 437 + transform="translate(3054.6101,13760.052)"> 438 + <rect 439 + id="rect112-7-0" 440 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 441 + rx="0" 442 + height="1370.8721" 443 + width="2809.1992" 444 + y="949.37109" 445 + x="2084.55" /> 446 + <rect 447 + id="rect112-3-5-6" 448 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 449 + rx="0" 450 + height="1294.8468" 451 + width="2809.1992" 452 + y="1025.3964" 453 + x="2084.55" /> 454 + </g> 455 + </g> 456 + <g 457 + transform="translate(-151.71726,-10679.115)" 458 + id="g3153-2" 459 + style="fill:none;stroke-width:0.025in"> 460 + <g 461 + style="fill:none;stroke-width:0.025in" 462 + id="g3107-6-9-6" 463 + transform="translate(5213.0126,16008.808)"> 464 + <rect 465 + id="rect112-7-1-1" 466 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 467 + rx="0" 468 + height="1370.8721" 469 + width="2809.1992" 470 + y="949.37109" 471 + x="2084.55" /> 472 + <rect 473 + id="rect112-3-5-2-8" 474 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 475 + rx="0" 476 + height="1294.8468" 477 + width="2809.1992" 478 + y="1025.3964" 479 + x="2084.55" /> 480 + </g> 481 + <text 482 + xml:space="preserve" 483 + x="9717.4141" 484 + y="18269.314" 485 + font-style="normal" 486 + font-weight="bold" 487 + font-size="192" 488 + id="text202-7-5-1-2-3-7-35-7-7" 489 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 490 + sodipodi:linespacing="125%"><tspan 491 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 492 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 493 + </g> 494 + <g 495 + transform="translate(-3484.4587,-10679.115)" 496 + id="g3153-20" 497 + style="fill:none;stroke-width:0.025in"> 498 + <g 499 + style="fill:none;stroke-width:0.025in" 500 + id="g3107-6-9-2" 501 + transform="translate(5213.0126,16008.808)"> 502 + <rect 503 + id="rect112-7-1-3" 504 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 505 + rx="0" 506 + height="1370.8721" 507 + width="2809.1992" 508 + y="949.37109" 509 + x="2084.55" /> 510 + <rect 511 + id="rect112-3-5-2-7" 512 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 513 + rx="0" 514 + height="1294.8468" 515 + width="2809.1992" 516 + y="1025.3964" 517 + x="2084.55" /> 518 + </g> 519 + <text 520 + xml:space="preserve" 521 + x="9717.4141" 522 + y="18269.314" 523 + font-style="normal" 524 + font-weight="bold" 525 + font-size="192" 526 + id="text202-7-5-1-2-3-7-35-7-5" 527 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 528 + sodipodi:linespacing="125%"><tspan 529 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 530 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 531 + </g> 532 + <g 533 + transform="translate(-6817.1998,-10679.115)" 534 + id="g3153-28" 535 + style="fill:none;stroke-width:0.025in"> 536 + <g 537 + style="fill:none;stroke-width:0.025in" 538 + id="g3107-6-9-9" 539 + transform="translate(5213.0126,16008.808)"> 540 + <rect 541 + id="rect112-7-1-7" 542 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 543 + rx="0" 544 + height="1370.8721" 545 + width="2809.1992" 546 + y="949.37109" 547 + x="2084.55" /> 548 + <rect 549 + id="rect112-3-5-2-3" 550 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 551 + rx="0" 552 + height="1294.8468" 553 + width="2809.1992" 554 + y="1025.3964" 555 + x="2084.55" /> 556 + </g> 557 + <text 558 + xml:space="preserve" 559 + x="9717.4141" 560 + y="18269.314" 561 + font-style="normal" 562 + font-weight="bold" 563 + font-size="192" 564 + id="text202-7-5-1-2-3-7-35-7-6" 565 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 566 + sodipodi:linespacing="125%"><tspan 567 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 568 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 569 + </g> 570 + <path 571 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 572 + d="m 5473.7572,3203.2219 -582.9982,865.094" 573 + id="path3414" 574 + inkscape:connector-curvature="0" /> 575 + <path 576 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 577 + d="m 8282.5391,3203.4839 582.9982,865.094" 578 + id="path3414-9" 579 + inkscape:connector-curvature="0" /> 580 + <path 581 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 582 + d="m 3523.1241,5416.3989 -582.9982,865.094" 583 + id="path3414-8" 584 + inkscape:connector-curvature="0" /> 585 + <path 586 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 587 + d="m 10268.171,5416.6609 583,865.094" 588 + id="path3414-9-4" 589 + inkscape:connector-curvature="0" /> 590 + <path 591 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 592 + d="m 4939.6205,5416.3989 0,846.288" 593 + id="path3414-8-3" 594 + inkscape:connector-curvature="0" 595 + sodipodi:nodetypes="cc" /> 596 + <path 597 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 598 + d="m 8816.5958,5442.9949 0,846.288" 599 + id="path3414-8-3-6" 600 + inkscape:connector-curvature="0" 601 + sodipodi:nodetypes="cc" /> 602 + <g 603 + id="g4504-3-9" 604 + transform="translate(4866.0367,-16425.339)"> 605 + <path 606 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 607 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 608 + sodipodi:ry="39.550262" 609 + sodipodi:rx="65.917107" 610 + sodipodi:cy="345.54001" 611 + sodipodi:cx="319.379" 612 + id="path3084-6-1" 613 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 614 + sodipodi:type="arc" /> 615 + <text 616 + sodipodi:linespacing="125%" 617 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 618 + id="text202-7-5-1-2-7-2" 619 + font-size="192" 620 + font-weight="bold" 621 + font-style="normal" 622 + y="16888.277" 623 + x="4344.877" 624 + xml:space="preserve"><tspan 625 + id="tspan3104-5-7" 626 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">End of</tspan></text> 627 + <text 628 + sodipodi:linespacing="125%" 629 + id="text3110-3-0" 630 + y="17119.1" 631 + x="4578.7886" 632 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 633 + xml:space="preserve"><tspan 634 + y="17119.1" 635 + x="4578.7886" 636 + id="tspan3112-5-9" 637 + sodipodi:role="line">Last Grace</tspan></text> 638 + <text 639 + sodipodi:linespacing="125%" 640 + id="text3114-6-3" 641 + y="17350.271" 642 + x="4581.7886" 643 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 644 + xml:space="preserve"><tspan 645 + y="17350.271" 646 + x="4581.7886" 647 + id="tspan3116-2-6" 648 + sodipodi:role="line">Period</tspan></text> 649 + </g> 650 + <path 651 + sodipodi:nodetypes="cc" 652 + inkscape:connector-curvature="0" 653 + id="path3134-9-0-3-5" 654 + d="m 8546.5914,605.78414 -1595.7755,0" 655 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)" /> 656 + </svg>
+656
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-2.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1037.9602" 17 + height="666.38184" 18 + viewBox="-44 -44 13802.928 8857.5401" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-gp-init-2.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + </defs> 248 + <sodipodi:namedview 249 + pagecolor="#ffffff" 250 + bordercolor="#666666" 251 + borderopacity="1" 252 + objecttolerance="10" 253 + gridtolerance="10" 254 + guidetolerance="10" 255 + inkscape:pageopacity="0" 256 + inkscape:pageshadow="2" 257 + inkscape:window-width="1087" 258 + inkscape:window-height="1144" 259 + id="namedview208" 260 + showgrid="false" 261 + inkscape:zoom="0.79710462" 262 + inkscape:cx="564.27119" 263 + inkscape:cy="397.32188" 264 + inkscape:window-x="833" 265 + inkscape:window-y="28" 266 + inkscape:window-maximized="0" 267 + inkscape:current-layer="svg2" 268 + fit-margin-top="5" 269 + fit-margin-right="5" 270 + fit-margin-left="5" 271 + fit-margin-bottom="5" /> 272 + <path 273 + sodipodi:nodetypes="cccccccccccccccccccccccccccc" 274 + inkscape:connector-curvature="0" 275 + id="path3134-9-0-3" 276 + d="m 6861.6904,46.438525 -2.8276,1315.668775 -5343.8436,17.1194 -2.8276,6561.7446 2039.0799,17.963 -2.7042,-2144.1399 -491.6705,-0.2109 -2.7042,-1993.6887 1487.7179,-4.7279 -17.8,1812.453 2017.2374,-7.6434 4.9532,-2151.5723 -1405.5264,11.163 -10.919,-1891.1468 1739.2164,-2.7175 -13.2006,4234.2295 -1701.3595,1.3953 -8.7841,2107.7116 1702.6392,-4.8334 33.4144,-1867.7167 1312.2492,12.9229 14.608,1818.3367 2000.0063,20.4217 -12.279,-1841.4113 1304.168,1.6154 -12.279,2032.7059 -4638.6515,1.6154 19.5828,569.0378" 277 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 278 + <rect 279 + ry="0" 280 + id="rect118" 281 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 282 + rx="0" 283 + height="7653.1299" 284 + width="13639.945" 285 + y="555.69745" 286 + x="37.490929" /> 287 + <text 288 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 289 + id="text202-7" 290 + font-size="192" 291 + font-weight="bold" 292 + font-style="normal" 293 + y="799.34259" 294 + x="134.46091" 295 + xml:space="preserve">rcu_gp_init()</text> 296 + <g 297 + style="fill:none;stroke-width:0.025in" 298 + transform="translate(2311.1375,-10650.009)" 299 + id="g3147"> 300 + <g 301 + style="fill:none;stroke-width:0.025in" 302 + id="g3107-6" 303 + transform="translate(3054.6101,13760.052)"> 304 + <rect 305 + id="rect112-7" 306 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 307 + rx="0" 308 + height="1370.8721" 309 + width="2809.1992" 310 + y="949.37109" 311 + x="2084.55" /> 312 + <rect 313 + id="rect112-3-5" 314 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 315 + rx="0" 316 + height="1294.8468" 317 + width="2809.1992" 318 + y="1025.3964" 319 + x="2084.55" /> 320 + </g> 321 + </g> 322 + <g 323 + style="fill:none;stroke-width:0.025in" 324 + transform="translate(3162.2182,-10686.376)" 325 + id="g3153"> 326 + <g 327 + style="fill:none;stroke-width:0.025in" 328 + id="g3107-6-9" 329 + transform="translate(5213.0126,16008.808)"> 330 + <rect 331 + id="rect112-7-1" 332 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 333 + rx="0" 334 + height="1370.8721" 335 + width="2809.1992" 336 + y="949.37109" 337 + x="2084.55" /> 338 + <rect 339 + id="rect112-3-5-2" 340 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 341 + rx="0" 342 + height="1294.8468" 343 + width="2809.1992" 344 + y="1025.3964" 345 + x="2084.55" /> 346 + </g> 347 + <text 348 + xml:space="preserve" 349 + x="9717.4141" 350 + y="18269.314" 351 + font-style="normal" 352 + font-weight="bold" 353 + font-size="192" 354 + id="text202-7-5-1-2-3-7-35-7" 355 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 356 + sodipodi:linespacing="125%"><tspan 357 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 358 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 359 + </g> 360 + <g 361 + transform="translate(-1661.3439,-10650.009)" 362 + id="g3147-3" 363 + style="fill:none;stroke-width:0.025in"> 364 + <g 365 + style="fill:none;stroke-width:0.025in" 366 + id="g3107-6-6" 367 + transform="translate(3054.6101,13760.052)"> 368 + <rect 369 + id="rect112-7-0" 370 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 371 + rx="0" 372 + height="1370.8721" 373 + width="2809.1992" 374 + y="949.37109" 375 + x="2084.55" /> 376 + <rect 377 + id="rect112-3-5-6" 378 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 379 + rx="0" 380 + height="1294.8468" 381 + width="2809.1992" 382 + y="1025.3964" 383 + x="2084.55" /> 384 + </g> 385 + <text 386 + xml:space="preserve" 387 + x="5398.415" 388 + y="15310.093" 389 + font-style="normal" 390 + font-weight="bold" 391 + font-size="192" 392 + id="text202-8" 393 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinit</text> 394 + <text 395 + xml:space="preserve" 396 + x="5398.415" 397 + y="15545.01" 398 + font-style="normal" 399 + font-weight="bold" 400 + font-size="192" 401 + id="text202-5-8" 402 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 403 + </g> 404 + <g 405 + transform="translate(-170.52359,-10686.376)" 406 + id="g3153-2" 407 + style="fill:none;stroke-width:0.025in"> 408 + <g 409 + style="fill:none;stroke-width:0.025in" 410 + id="g3107-6-9-6" 411 + transform="translate(5213.0126,16008.808)"> 412 + <rect 413 + id="rect112-7-1-1" 414 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 415 + rx="0" 416 + height="1370.8721" 417 + width="2809.1992" 418 + y="949.37109" 419 + x="2084.55" /> 420 + <rect 421 + id="rect112-3-5-2-8" 422 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 423 + rx="0" 424 + height="1294.8468" 425 + width="2809.1992" 426 + y="1025.3964" 427 + x="2084.55" /> 428 + </g> 429 + <text 430 + xml:space="preserve" 431 + x="9717.4141" 432 + y="18269.314" 433 + font-style="normal" 434 + font-weight="bold" 435 + font-size="192" 436 + id="text202-7-5-1-2-3-7-35-7-7" 437 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 438 + sodipodi:linespacing="125%"><tspan 439 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 440 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 441 + </g> 442 + <g 443 + transform="translate(-3503.2651,-10686.376)" 444 + id="g3153-20" 445 + style="fill:none;stroke-width:0.025in"> 446 + <g 447 + style="fill:none;stroke-width:0.025in" 448 + id="g3107-6-9-2" 449 + transform="translate(5213.0126,16008.808)"> 450 + <rect 451 + id="rect112-7-1-3" 452 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 453 + rx="0" 454 + height="1370.8721" 455 + width="2809.1992" 456 + y="949.37109" 457 + x="2084.55" /> 458 + <rect 459 + id="rect112-3-5-2-7" 460 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 461 + rx="0" 462 + height="1294.8468" 463 + width="2809.1992" 464 + y="1025.3964" 465 + x="2084.55" /> 466 + </g> 467 + <text 468 + xml:space="preserve" 469 + x="9717.4141" 470 + y="18269.314" 471 + font-style="normal" 472 + font-weight="bold" 473 + font-size="192" 474 + id="text202-7-5-1-2-3-7-35-7-5" 475 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 476 + sodipodi:linespacing="125%"><tspan 477 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 478 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 479 + </g> 480 + <g 481 + transform="translate(-6836.0062,-10686.376)" 482 + id="g3153-28" 483 + style="fill:none;stroke-width:0.025in"> 484 + <g 485 + style="fill:none;stroke-width:0.025in" 486 + id="g3107-6-9-9" 487 + transform="translate(5213.0126,16008.808)"> 488 + <rect 489 + id="rect112-7-1-7" 490 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 491 + rx="0" 492 + height="1370.8721" 493 + width="2809.1992" 494 + y="949.37109" 495 + x="2084.55" /> 496 + <rect 497 + id="rect112-3-5-2-3" 498 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 499 + rx="0" 500 + height="1294.8468" 501 + width="2809.1992" 502 + y="1025.3964" 503 + x="2084.55" /> 504 + </g> 505 + <text 506 + xml:space="preserve" 507 + x="9717.4141" 508 + y="18269.314" 509 + font-style="normal" 510 + font-weight="bold" 511 + font-size="192" 512 + id="text202-7-5-1-2-3-7-35-7-6" 513 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 514 + sodipodi:linespacing="125%"><tspan 515 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 516 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 517 + <text 518 + xml:space="preserve" 519 + x="7699.7246" 520 + y="17734.791" 521 + font-style="normal" 522 + font-weight="bold" 523 + font-size="192" 524 + id="text202-4" 525 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinit</text> 526 + </g> 527 + <path 528 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 529 + d="m 5454.9508,3195.9607 -582.9982,865.094" 530 + id="path3414" 531 + inkscape:connector-curvature="0" /> 532 + <path 533 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 534 + d="m 8263.7327,3196.2227 582.9982,865.094" 535 + id="path3414-9" 536 + inkscape:connector-curvature="0" /> 537 + <path 538 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 539 + d="m 3504.3177,5409.1377 -582.9982,865.094" 540 + id="path3414-8" 541 + inkscape:connector-curvature="0" /> 542 + <path 543 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 544 + d="m 10249.365,5409.3997 583,865.094" 545 + id="path3414-9-4" 546 + inkscape:connector-curvature="0" /> 547 + <path 548 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 549 + d="m 4920.8141,5409.1377 0,846.288" 550 + id="path3414-8-3" 551 + inkscape:connector-curvature="0" 552 + sodipodi:nodetypes="cc" /> 553 + <path 554 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 555 + d="m 8797.7894,5435.7337 0,846.288" 556 + id="path3414-8-3-6" 557 + inkscape:connector-curvature="0" 558 + sodipodi:nodetypes="cc" /> 559 + <rect 560 + ry="0" 561 + id="rect118-1" 562 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057923, 60.00115846;stroke-dashoffset:0" 563 + rx="0" 564 + height="4418.4302" 565 + width="4932.5845" 566 + y="1492.2119" 567 + x="2087.8708" /> 568 + <text 569 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 570 + id="text202-7-2" 571 + font-size="192" 572 + font-weight="bold" 573 + font-style="normal" 574 + y="1690.4336" 575 + x="2223.3145" 576 + xml:space="preserve" 577 + sodipodi:linespacing="125%">rcu_init_new_rnp()<tspan 578 + style="font-size:192px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 579 + id="tspan3307"> or</tspan></text> 580 + <text 581 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 582 + id="text202-7-2-7" 583 + font-size="192" 584 + font-weight="bold" 585 + font-style="normal" 586 + y="1958.5066" 587 + x="2223.3145" 588 + xml:space="preserve">rcu_cleanup_dead_rnp()</text> 589 + <text 590 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 591 + id="text202-7-2-7-6" 592 + font-size="192" 593 + font-weight="bold" 594 + font-style="normal" 595 + y="2227.4531" 596 + x="2226.1592" 597 + xml:space="preserve" 598 + sodipodi:linespacing="125%"><tspan 599 + style="font-size:192px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 600 + id="tspan3327">(optional)</tspan></text> 601 + <g 602 + style="fill:none;stroke-width:0.025in" 603 + transform="translate(2431.6011,-10686.376)" 604 + id="g3188"> 605 + <text 606 + xml:space="preserve" 607 + x="3305.5364" 608 + y="13255.592" 609 + font-style="normal" 610 + font-weight="bold" 611 + font-size="192" 612 + id="text202" 613 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;qsmaskinit</text> 614 + <g 615 + id="g3107" 616 + transform="translate(947.90548,11584.029)"> 617 + <rect 618 + id="rect112" 619 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 620 + rx="0" 621 + height="1370.8721" 622 + width="2809.1992" 623 + y="949.37109" 624 + x="2084.55" /> 625 + <rect 626 + id="rect112-3" 627 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 628 + rx="0" 629 + height="1294.8468" 630 + width="2809.1992" 631 + y="1025.3964" 632 + x="2084.55" /> 633 + </g> 634 + <text 635 + xml:space="preserve" 636 + x="5452.3052" 637 + y="13844.535" 638 + font-style="normal" 639 + font-weight="bold" 640 + font-size="192" 641 + id="text202-7-5-1-2-3-7" 642 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 643 + sodipodi:linespacing="125%"><tspan 644 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 645 + id="tspan3104-6-5">Root</tspan></text> 646 + <text 647 + xml:space="preserve" 648 + x="3305.5364" 649 + y="13490.509" 650 + font-style="normal" 651 + font-weight="bold" 652 + font-size="192" 653 + id="text202-5" 654 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 655 + </g> 656 + </svg>
+632
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1039.3743" 17 + height="594.19171" 18 + viewBox="-44 -44 13821.733 7897.9895" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-gp-init-2.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + </defs> 248 + <sodipodi:namedview 249 + pagecolor="#ffffff" 250 + bordercolor="#666666" 251 + borderopacity="1" 252 + objecttolerance="10" 253 + gridtolerance="10" 254 + guidetolerance="10" 255 + inkscape:pageopacity="0" 256 + inkscape:pageshadow="2" 257 + inkscape:window-width="1087" 258 + inkscape:window-height="1144" 259 + id="namedview208" 260 + showgrid="false" 261 + inkscape:zoom="0.70710678" 262 + inkscape:cx="617.89019" 263 + inkscape:cy="625.84293" 264 + inkscape:window-x="697" 265 + inkscape:window-y="28" 266 + inkscape:window-maximized="0" 267 + inkscape:current-layer="svg2" 268 + fit-margin-top="5" 269 + fit-margin-right="5" 270 + fit-margin-left="5" 271 + fit-margin-bottom="5" /> 272 + <path 273 + sodipodi:nodetypes="cccccccccccccccccccccccc" 274 + inkscape:connector-curvature="0" 275 + id="path3134-9-0-3" 276 + d="m 6899.3032,45.520244 -2.8276,2480.757056 -2316.0141,-1.687 -2.8276,2179.8547 2321.1758,-0.8434 -2.7042,-1843.2376 2404.5142,-0.2109 16.1022,1993.2669 -7783.8345,-4.7279 -16.7936,2120.3946 2033.1033,-23.5344 2.0128,-1866.561 2051.9097,14.0785 2.0128,1838.2987 1280.8475,-4.728 14.608,-1830.1039 1312.2492,12.9229 14.608,1818.3367 2000.0059,20.4217 -12.279,-1841.4113 1304.168,1.6154 -12.279,2032.7059 -4638.6511,1.6154 19.5828,569.0378" 277 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 278 + <g 279 + style="fill:none;stroke-width:0.025in" 280 + transform="translate(2450.4075,-11647.329)" 281 + id="g3188"> 282 + <text 283 + xml:space="preserve" 284 + x="3305.5364" 285 + y="13255.592" 286 + font-style="normal" 287 + font-weight="bold" 288 + font-size="192" 289 + id="text202" 290 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 291 + <g 292 + id="g3107" 293 + transform="translate(947.90548,11584.029)"> 294 + <rect 295 + id="rect112" 296 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 297 + rx="0" 298 + height="1370.8721" 299 + width="2809.1992" 300 + y="949.37109" 301 + x="2084.55" /> 302 + <rect 303 + id="rect112-3" 304 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 305 + rx="0" 306 + height="1294.8468" 307 + width="2809.1992" 308 + y="1025.3964" 309 + x="2084.55" /> 310 + </g> 311 + <text 312 + xml:space="preserve" 313 + x="5452.3052" 314 + y="13844.535" 315 + font-style="normal" 316 + font-weight="bold" 317 + font-size="192" 318 + id="text202-7-5-1-2-3-7" 319 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 320 + sodipodi:linespacing="125%"><tspan 321 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 322 + id="tspan3104-6-5">Root</tspan></text> 323 + </g> 324 + <rect 325 + ry="0" 326 + id="rect118" 327 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 328 + rx="0" 329 + height="6844.4546" 330 + width="13658.751" 331 + y="403.41983" 332 + x="37.490932" /> 333 + <text 334 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 335 + id="text202-7" 336 + font-size="192" 337 + font-weight="bold" 338 + font-style="normal" 339 + y="662.8739" 340 + x="153.26733" 341 + xml:space="preserve">rcu_gp_init()</text> 342 + <g 343 + style="fill:none;stroke-width:0.025in" 344 + transform="translate(2329.9439,-11610.962)" 345 + id="g3147"> 346 + <g 347 + style="fill:none;stroke-width:0.025in" 348 + id="g3107-6" 349 + transform="translate(3054.6101,13760.052)"> 350 + <rect 351 + id="rect112-7" 352 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 353 + rx="0" 354 + height="1370.8721" 355 + width="2809.1992" 356 + y="949.37109" 357 + x="2084.55" /> 358 + <rect 359 + id="rect112-3-5" 360 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 361 + rx="0" 362 + height="1294.8468" 363 + width="2809.1992" 364 + y="1025.3964" 365 + x="2084.55" /> 366 + </g> 367 + <text 368 + xml:space="preserve" 369 + x="5392.3345" 370 + y="15407.104" 371 + font-style="normal" 372 + font-weight="bold" 373 + font-size="192" 374 + id="text202-6" 375 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 376 + </g> 377 + <g 378 + style="fill:none;stroke-width:0.025in" 379 + transform="translate(3181.0246,-11647.329)" 380 + id="g3153"> 381 + <g 382 + style="fill:none;stroke-width:0.025in" 383 + id="g3107-6-9" 384 + transform="translate(5213.0126,16008.808)"> 385 + <rect 386 + id="rect112-7-1" 387 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 388 + rx="0" 389 + height="1370.8721" 390 + width="2809.1992" 391 + y="949.37109" 392 + x="2084.55" /> 393 + <rect 394 + id="rect112-3-5-2" 395 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 396 + rx="0" 397 + height="1294.8468" 398 + width="2809.1992" 399 + y="1025.3964" 400 + x="2084.55" /> 401 + </g> 402 + <text 403 + xml:space="preserve" 404 + x="9717.4141" 405 + y="18269.314" 406 + font-style="normal" 407 + font-weight="bold" 408 + font-size="192" 409 + id="text202-7-5-1-2-3-7-35-7" 410 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 411 + sodipodi:linespacing="125%"><tspan 412 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 413 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 414 + <text 415 + xml:space="preserve" 416 + x="7536.4883" 417 + y="17640.934" 418 + font-style="normal" 419 + font-weight="bold" 420 + font-size="192" 421 + id="text202-9" 422 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 423 + </g> 424 + <g 425 + transform="translate(-1642.5375,-11610.962)" 426 + id="g3147-3" 427 + style="fill:none;stroke-width:0.025in"> 428 + <g 429 + style="fill:none;stroke-width:0.025in" 430 + id="g3107-6-6" 431 + transform="translate(3054.6101,13760.052)"> 432 + <rect 433 + id="rect112-7-0" 434 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 435 + rx="0" 436 + height="1370.8721" 437 + width="2809.1992" 438 + y="949.37109" 439 + x="2084.55" /> 440 + <rect 441 + id="rect112-3-5-6" 442 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 443 + rx="0" 444 + height="1294.8468" 445 + width="2809.1992" 446 + y="1025.3964" 447 + x="2084.55" /> 448 + </g> 449 + <text 450 + xml:space="preserve" 451 + x="5378.4146" 452 + y="15436.927" 453 + font-style="normal" 454 + font-weight="bold" 455 + font-size="192" 456 + id="text202-3" 457 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 458 + </g> 459 + <g 460 + transform="translate(-151.71726,-11647.329)" 461 + id="g3153-2" 462 + style="fill:none;stroke-width:0.025in"> 463 + <g 464 + style="fill:none;stroke-width:0.025in" 465 + id="g3107-6-9-6" 466 + transform="translate(5213.0126,16008.808)"> 467 + <rect 468 + id="rect112-7-1-1" 469 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 470 + rx="0" 471 + height="1370.8721" 472 + width="2809.1992" 473 + y="949.37109" 474 + x="2084.55" /> 475 + <rect 476 + id="rect112-3-5-2-8" 477 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 478 + rx="0" 479 + height="1294.8468" 480 + width="2809.1992" 481 + y="1025.3964" 482 + x="2084.55" /> 483 + </g> 484 + <text 485 + xml:space="preserve" 486 + x="9717.4141" 487 + y="18269.314" 488 + font-style="normal" 489 + font-weight="bold" 490 + font-size="192" 491 + id="text202-7-5-1-2-3-7-35-7-7" 492 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 493 + sodipodi:linespacing="125%"><tspan 494 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 495 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 496 + </g> 497 + <g 498 + transform="translate(-3484.4587,-11647.329)" 499 + id="g3153-20" 500 + style="fill:none;stroke-width:0.025in"> 501 + <g 502 + style="fill:none;stroke-width:0.025in" 503 + id="g3107-6-9-2" 504 + transform="translate(5213.0126,16008.808)"> 505 + <rect 506 + id="rect112-7-1-3" 507 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 508 + rx="0" 509 + height="1370.8721" 510 + width="2809.1992" 511 + y="949.37109" 512 + x="2084.55" /> 513 + <rect 514 + id="rect112-3-5-2-7" 515 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 516 + rx="0" 517 + height="1294.8468" 518 + width="2809.1992" 519 + y="1025.3964" 520 + x="2084.55" /> 521 + </g> 522 + <text 523 + xml:space="preserve" 524 + x="9717.4141" 525 + y="18269.314" 526 + font-style="normal" 527 + font-weight="bold" 528 + font-size="192" 529 + id="text202-7-5-1-2-3-7-35-7-5" 530 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 531 + sodipodi:linespacing="125%"><tspan 532 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 533 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 534 + <text 535 + xml:space="preserve" 536 + x="7520.1294" 537 + y="17673.639" 538 + font-style="normal" 539 + font-weight="bold" 540 + font-size="192" 541 + id="text202-35" 542 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 543 + </g> 544 + <g 545 + transform="translate(-6817.1998,-11647.329)" 546 + id="g3153-28" 547 + style="fill:none;stroke-width:0.025in"> 548 + <g 549 + style="fill:none;stroke-width:0.025in" 550 + id="g3107-6-9-9" 551 + transform="translate(5213.0126,16008.808)"> 552 + <rect 553 + id="rect112-7-1-7" 554 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 555 + rx="0" 556 + height="1370.8721" 557 + width="2809.1992" 558 + y="949.37109" 559 + x="2084.55" /> 560 + <rect 561 + id="rect112-3-5-2-3" 562 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 563 + rx="0" 564 + height="1294.8468" 565 + width="2809.1992" 566 + y="1025.3964" 567 + x="2084.55" /> 568 + </g> 569 + <text 570 + xml:space="preserve" 571 + x="9717.4141" 572 + y="18269.314" 573 + font-style="normal" 574 + font-weight="bold" 575 + font-size="192" 576 + id="text202-7-5-1-2-3-7-35-7-6" 577 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 578 + sodipodi:linespacing="125%"><tspan 579 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 580 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 581 + <text 582 + xml:space="preserve" 583 + x="7521.4663" 584 + y="17666.062" 585 + font-style="normal" 586 + font-weight="bold" 587 + font-size="192" 588 + id="text202-75" 589 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 590 + </g> 591 + <path 592 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 593 + d="m 5473.7572,2235.0081 -582.9982,865.094" 594 + id="path3414" 595 + inkscape:connector-curvature="0" /> 596 + <path 597 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 598 + d="m 8282.5391,2235.2701 582.9982,865.094" 599 + id="path3414-9" 600 + inkscape:connector-curvature="0" /> 601 + <path 602 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 603 + d="m 3523.1241,4448.1851 -582.9982,865.094" 604 + id="path3414-8" 605 + inkscape:connector-curvature="0" /> 606 + <path 607 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 608 + d="m 10268.171,4448.4471 583,865.094" 609 + id="path3414-9-4" 610 + inkscape:connector-curvature="0" /> 611 + <path 612 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 613 + d="m 4939.6205,4448.1851 0,846.288" 614 + id="path3414-8-3" 615 + inkscape:connector-curvature="0" 616 + sodipodi:nodetypes="cc" /> 617 + <path 618 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 619 + d="m 8816.5958,4474.7811 0,846.288" 620 + id="path3414-8-3-6" 621 + inkscape:connector-curvature="0" 622 + sodipodi:nodetypes="cc" /> 623 + <text 624 + xml:space="preserve" 625 + x="7370.856" 626 + y="5997.5972" 627 + font-style="normal" 628 + font-weight="bold" 629 + font-size="192" 630 + id="text202-62" 631 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 632 + </svg>
+5135
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1626.5841" 17 + height="6394.5298" 18 + viewBox="-44 -44 21630.525 84996.019" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-gp.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow1Send" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow1Send-36" 183 + style="overflow:visible"> 184 + <path 185 + id="path3940-7" 186 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 187 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 188 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-3" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-6" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker3085" 211 + style="overflow:visible"> 212 + <path 213 + id="path3087" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="marker3089" 225 + style="overflow:visible"> 226 + <path 227 + id="path3091" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="marker3093" 239 + style="overflow:visible"> 240 + <path 241 + id="path3095" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow2Lend" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="marker3097" 253 + style="overflow:visible"> 254 + <path 255 + id="path3099" 256 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 257 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 258 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow2Lend" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="marker3101" 267 + style="overflow:visible"> 268 + <path 269 + id="path3103" 270 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 271 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 272 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 273 + inkscape:connector-curvature="0" /> 274 + </marker> 275 + <marker 276 + inkscape:stockid="Arrow1Send" 277 + orient="auto" 278 + refY="0" 279 + refX="0" 280 + id="Arrow1Send-7" 281 + style="overflow:visible"> 282 + <path 283 + id="path3940-5" 284 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 285 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 286 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 287 + inkscape:connector-curvature="0" /> 288 + </marker> 289 + <marker 290 + inkscape:stockid="Arrow1Send" 291 + orient="auto" 292 + refY="0" 293 + refX="0" 294 + id="Arrow1Send-79" 295 + style="overflow:visible"> 296 + <path 297 + id="path3940-20" 298 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 299 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 300 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 301 + inkscape:connector-curvature="0" /> 302 + </marker> 303 + <marker 304 + inkscape:stockid="Arrow2Lend" 305 + orient="auto" 306 + refY="0" 307 + refX="0" 308 + id="Arrow2Lend-37" 309 + style="overflow:visible"> 310 + <path 311 + id="path3946-5" 312 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 313 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 314 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 315 + inkscape:connector-curvature="0" /> 316 + </marker> 317 + <marker 318 + inkscape:stockid="Arrow2Lend" 319 + orient="auto" 320 + refY="0" 321 + refX="0" 322 + id="marker3081" 323 + style="overflow:visible"> 324 + <path 325 + id="path3083" 326 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 327 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 328 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 329 + inkscape:connector-curvature="0" /> 330 + </marker> 331 + <marker 332 + inkscape:stockid="Arrow2Lend" 333 + orient="auto" 334 + refY="0" 335 + refX="0" 336 + id="marker3085-9" 337 + style="overflow:visible"> 338 + <path 339 + id="path3087-2" 340 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 341 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 342 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 343 + inkscape:connector-curvature="0" /> 344 + </marker> 345 + <marker 346 + inkscape:stockid="Arrow2Lend" 347 + orient="auto" 348 + refY="0" 349 + refX="0" 350 + id="marker3089-2" 351 + style="overflow:visible"> 352 + <path 353 + id="path3091-8" 354 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 355 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 356 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 357 + inkscape:connector-curvature="0" /> 358 + </marker> 359 + <marker 360 + inkscape:stockid="Arrow2Lend" 361 + orient="auto" 362 + refY="0" 363 + refX="0" 364 + id="marker3093-9" 365 + style="overflow:visible"> 366 + <path 367 + id="path3095-7" 368 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 369 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 370 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 371 + inkscape:connector-curvature="0" /> 372 + </marker> 373 + <marker 374 + inkscape:stockid="Arrow2Lend" 375 + orient="auto" 376 + refY="0" 377 + refX="0" 378 + id="marker3097-3" 379 + style="overflow:visible"> 380 + <path 381 + id="path3099-6" 382 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 383 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 384 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 385 + inkscape:connector-curvature="0" /> 386 + </marker> 387 + <marker 388 + inkscape:stockid="Arrow1Send" 389 + orient="auto" 390 + refY="0" 391 + refX="0" 392 + id="Arrow1Send-12" 393 + style="overflow:visible"> 394 + <path 395 + id="path3940-93" 396 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 397 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 398 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 399 + inkscape:connector-curvature="0" /> 400 + </marker> 401 + <marker 402 + inkscape:stockid="Arrow2Lend" 403 + orient="auto" 404 + refY="0" 405 + refX="0" 406 + id="Arrow2Lend-2" 407 + style="overflow:visible"> 408 + <path 409 + id="path3946-66" 410 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 411 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 412 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 413 + inkscape:connector-curvature="0" /> 414 + </marker> 415 + <marker 416 + inkscape:stockid="Arrow2Lend" 417 + orient="auto" 418 + refY="0" 419 + refX="0" 420 + id="marker3077" 421 + style="overflow:visible"> 422 + <path 423 + id="path3079" 424 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 425 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 426 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 427 + inkscape:connector-curvature="0" /> 428 + </marker> 429 + <marker 430 + inkscape:stockid="Arrow2Lend" 431 + orient="auto" 432 + refY="0" 433 + refX="0" 434 + id="marker3081-4" 435 + style="overflow:visible"> 436 + <path 437 + id="path3083-9" 438 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 439 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 440 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 441 + inkscape:connector-curvature="0" /> 442 + </marker> 443 + <marker 444 + inkscape:stockid="Arrow2Lend" 445 + orient="auto" 446 + refY="0" 447 + refX="0" 448 + id="marker3085-5" 449 + style="overflow:visible"> 450 + <path 451 + id="path3087-0" 452 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 453 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 454 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 455 + inkscape:connector-curvature="0" /> 456 + </marker> 457 + <marker 458 + inkscape:stockid="Arrow2Lend" 459 + orient="auto" 460 + refY="0" 461 + refX="0" 462 + id="marker3089-4" 463 + style="overflow:visible"> 464 + <path 465 + id="path3091-87" 466 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 467 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 468 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 469 + inkscape:connector-curvature="0" /> 470 + </marker> 471 + <marker 472 + inkscape:stockid="Arrow2Lend" 473 + orient="auto" 474 + refY="0" 475 + refX="0" 476 + id="marker3093-1" 477 + style="overflow:visible"> 478 + <path 479 + id="path3095-72" 480 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 481 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 482 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 483 + inkscape:connector-curvature="0" /> 484 + </marker> 485 + <marker 486 + inkscape:stockid="Arrow1Send" 487 + orient="auto" 488 + refY="0" 489 + refX="0" 490 + id="Arrow1Send-72" 491 + style="overflow:visible"> 492 + <path 493 + id="path3940-26" 494 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 495 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 496 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 497 + inkscape:connector-curvature="0" /> 498 + </marker> 499 + <marker 500 + inkscape:stockid="Arrow1Send" 501 + orient="auto" 502 + refY="0" 503 + refX="0" 504 + id="Arrow1Send-6" 505 + style="overflow:visible"> 506 + <path 507 + id="path3940-25" 508 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 509 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 510 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 511 + inkscape:connector-curvature="0" /> 512 + </marker> 513 + <marker 514 + inkscape:stockid="Arrow2Lend" 515 + orient="auto" 516 + refY="0" 517 + refX="0" 518 + id="Arrow2Lend-8" 519 + style="overflow:visible"> 520 + <path 521 + id="path3946-62" 522 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 523 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 524 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 525 + inkscape:connector-curvature="0" /> 526 + </marker> 527 + <marker 528 + inkscape:stockid="Arrow2Lend" 529 + orient="auto" 530 + refY="0" 531 + refX="0" 532 + id="marker3179" 533 + style="overflow:visible"> 534 + <path 535 + id="path3181" 536 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 537 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 538 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 539 + inkscape:connector-curvature="0" /> 540 + </marker> 541 + <marker 542 + inkscape:stockid="Arrow2Lend" 543 + orient="auto" 544 + refY="0" 545 + refX="0" 546 + id="marker3183" 547 + style="overflow:visible"> 548 + <path 549 + id="path3185" 550 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 551 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 552 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 553 + inkscape:connector-curvature="0" /> 554 + </marker> 555 + <marker 556 + inkscape:stockid="Arrow2Lend" 557 + orient="auto" 558 + refY="0" 559 + refX="0" 560 + id="marker3187" 561 + style="overflow:visible"> 562 + <path 563 + id="path3189" 564 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 565 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 566 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 567 + inkscape:connector-curvature="0" /> 568 + </marker> 569 + <marker 570 + inkscape:stockid="Arrow2Lend" 571 + orient="auto" 572 + refY="0" 573 + refX="0" 574 + id="marker3191" 575 + style="overflow:visible"> 576 + <path 577 + id="path3193" 578 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 579 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 580 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 581 + inkscape:connector-curvature="0" /> 582 + </marker> 583 + <marker 584 + inkscape:stockid="Arrow2Lend" 585 + orient="auto" 586 + refY="0" 587 + refX="0" 588 + id="marker3195" 589 + style="overflow:visible"> 590 + <path 591 + id="path3197" 592 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 593 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 594 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 595 + inkscape:connector-curvature="0" /> 596 + </marker> 597 + <marker 598 + inkscape:stockid="Arrow1Send" 599 + orient="auto" 600 + refY="0" 601 + refX="0" 602 + id="marker3199" 603 + style="overflow:visible"> 604 + <path 605 + id="path3201" 606 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 607 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 608 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 609 + inkscape:connector-curvature="0" /> 610 + </marker> 611 + <marker 612 + inkscape:stockid="Arrow1Send" 613 + orient="auto" 614 + refY="0" 615 + refX="0" 616 + id="marker3203" 617 + style="overflow:visible"> 618 + <path 619 + id="path3205" 620 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 621 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 622 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 623 + inkscape:connector-curvature="0" /> 624 + </marker> 625 + <marker 626 + inkscape:stockid="Arrow1Send" 627 + orient="auto" 628 + refY="0" 629 + refX="0" 630 + id="marker3207" 631 + style="overflow:visible"> 632 + <path 633 + id="path3209" 634 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 635 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 636 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 637 + inkscape:connector-curvature="0" /> 638 + </marker> 639 + <marker 640 + inkscape:stockid="Arrow1Send" 641 + orient="auto" 642 + refY="0" 643 + refX="0" 644 + id="marker3211" 645 + style="overflow:visible"> 646 + <path 647 + id="path3213" 648 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 649 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 650 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 651 + inkscape:connector-curvature="0" /> 652 + </marker> 653 + <marker 654 + inkscape:stockid="Arrow1Send" 655 + orient="auto" 656 + refY="0" 657 + refX="0" 658 + id="marker3215" 659 + style="overflow:visible"> 660 + <path 661 + id="path3217" 662 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 663 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 664 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 665 + inkscape:connector-curvature="0" /> 666 + </marker> 667 + <marker 668 + inkscape:stockid="Arrow1Send" 669 + orient="auto" 670 + refY="0" 671 + refX="0" 672 + id="Arrow1Send-5" 673 + style="overflow:visible"> 674 + <path 675 + id="path3940-52" 676 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 677 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 678 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 679 + inkscape:connector-curvature="0" /> 680 + </marker> 681 + <marker 682 + inkscape:stockid="Arrow1Send" 683 + orient="auto" 684 + refY="0" 685 + refX="0" 686 + id="marker3150" 687 + style="overflow:visible"> 688 + <path 689 + id="path3152" 690 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 691 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 692 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 693 + inkscape:connector-curvature="0" /> 694 + </marker> 695 + <marker 696 + inkscape:stockid="Arrow2Lend" 697 + orient="auto" 698 + refY="0" 699 + refX="0" 700 + id="Arrow2Lend-9" 701 + style="overflow:visible"> 702 + <path 703 + id="path3946-0" 704 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 705 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 706 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 707 + inkscape:connector-curvature="0" /> 708 + </marker> 709 + <marker 710 + inkscape:stockid="Arrow2Lend" 711 + orient="auto" 712 + refY="0" 713 + refX="0" 714 + id="marker3156" 715 + style="overflow:visible"> 716 + <path 717 + id="path3158" 718 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 719 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 720 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 721 + inkscape:connector-curvature="0" /> 722 + </marker> 723 + <marker 724 + inkscape:stockid="Arrow2Lend" 725 + orient="auto" 726 + refY="0" 727 + refX="0" 728 + id="marker3160" 729 + style="overflow:visible"> 730 + <path 731 + id="path3162" 732 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 733 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 734 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 735 + inkscape:connector-curvature="0" /> 736 + </marker> 737 + <marker 738 + inkscape:stockid="Arrow2Lend" 739 + orient="auto" 740 + refY="0" 741 + refX="0" 742 + id="marker3164" 743 + style="overflow:visible"> 744 + <path 745 + id="path3166" 746 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 747 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 748 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 749 + inkscape:connector-curvature="0" /> 750 + </marker> 751 + <marker 752 + inkscape:stockid="Arrow2Lend" 753 + orient="auto" 754 + refY="0" 755 + refX="0" 756 + id="marker3168" 757 + style="overflow:visible"> 758 + <path 759 + id="path3170" 760 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 761 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 762 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 763 + inkscape:connector-curvature="0" /> 764 + </marker> 765 + <marker 766 + inkscape:stockid="Arrow2Lend" 767 + orient="auto" 768 + refY="0" 769 + refX="0" 770 + id="marker3172" 771 + style="overflow:visible"> 772 + <path 773 + id="path3174" 774 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 775 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 776 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 777 + inkscape:connector-curvature="0" /> 778 + </marker> 779 + <marker 780 + inkscape:stockid="Arrow1Send" 781 + orient="auto" 782 + refY="0" 783 + refX="0" 784 + id="Arrow1Send-8" 785 + style="overflow:visible"> 786 + <path 787 + id="path3940-7-2" 788 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 789 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 790 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 791 + inkscape:connector-curvature="0" /> 792 + </marker> 793 + <marker 794 + inkscape:stockid="Arrow1Send" 795 + orient="auto" 796 + refY="0" 797 + refX="0" 798 + id="Arrow1Send-17" 799 + style="overflow:visible"> 800 + <path 801 + id="path3940-8" 802 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 803 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 804 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 805 + inkscape:connector-curvature="0" /> 806 + </marker> 807 + <marker 808 + inkscape:stockid="Arrow1Send" 809 + orient="auto" 810 + refY="0" 811 + refX="0" 812 + id="Arrow1Send-36-4" 813 + style="overflow:visible"> 814 + <path 815 + id="path3940-7-9" 816 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 817 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 818 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 819 + inkscape:connector-curvature="0" /> 820 + </marker> 821 + <marker 822 + inkscape:stockid="Arrow2Lend" 823 + orient="auto" 824 + refY="0" 825 + refX="0" 826 + id="Arrow2Lend-94" 827 + style="overflow:visible"> 828 + <path 829 + id="path3946-59" 830 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 831 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 832 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 833 + inkscape:connector-curvature="0" /> 834 + </marker> 835 + <marker 836 + inkscape:stockid="Arrow2Lend" 837 + orient="auto" 838 + refY="0" 839 + refX="0" 840 + id="marker3157" 841 + style="overflow:visible"> 842 + <path 843 + id="path3159" 844 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 845 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 846 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 847 + inkscape:connector-curvature="0" /> 848 + </marker> 849 + <marker 850 + inkscape:stockid="Arrow2Lend" 851 + orient="auto" 852 + refY="0" 853 + refX="0" 854 + id="marker3161" 855 + style="overflow:visible"> 856 + <path 857 + id="path3163" 858 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 859 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 860 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 861 + inkscape:connector-curvature="0" /> 862 + </marker> 863 + <marker 864 + inkscape:stockid="Arrow2Lend" 865 + orient="auto" 866 + refY="0" 867 + refX="0" 868 + id="marker3165" 869 + style="overflow:visible"> 870 + <path 871 + id="path3167" 872 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 873 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 874 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 875 + inkscape:connector-curvature="0" /> 876 + </marker> 877 + <marker 878 + inkscape:stockid="Arrow2Lend" 879 + orient="auto" 880 + refY="0" 881 + refX="0" 882 + id="marker3169" 883 + style="overflow:visible"> 884 + <path 885 + id="path3171" 886 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 887 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 888 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 889 + inkscape:connector-curvature="0" /> 890 + </marker> 891 + <marker 892 + inkscape:stockid="Arrow2Lend" 893 + orient="auto" 894 + refY="0" 895 + refX="0" 896 + id="marker3173" 897 + style="overflow:visible"> 898 + <path 899 + id="path3175" 900 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 901 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 902 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 903 + inkscape:connector-curvature="0" /> 904 + </marker> 905 + <marker 906 + inkscape:stockid="Arrow2Lend" 907 + orient="auto" 908 + refY="0" 909 + refX="0" 910 + id="marker3177" 911 + style="overflow:visible"> 912 + <path 913 + id="path3179" 914 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 915 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 916 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 917 + inkscape:connector-curvature="0" /> 918 + </marker> 919 + <marker 920 + inkscape:stockid="Arrow2Lend" 921 + orient="auto" 922 + refY="0" 923 + refX="0" 924 + id="marker3181" 925 + style="overflow:visible"> 926 + <path 927 + id="path3183" 928 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 929 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 930 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 931 + inkscape:connector-curvature="0" /> 932 + </marker> 933 + <marker 934 + inkscape:stockid="Arrow2Lend" 935 + orient="auto" 936 + refY="0" 937 + refX="0" 938 + id="marker3185" 939 + style="overflow:visible"> 940 + <path 941 + id="path3187" 942 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 943 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 944 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 945 + inkscape:connector-curvature="0" /> 946 + </marker> 947 + <marker 948 + inkscape:stockid="Arrow2Lend" 949 + orient="auto" 950 + refY="0" 951 + refX="0" 952 + id="marker3189" 953 + style="overflow:visible"> 954 + <path 955 + id="path3191" 956 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 957 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 958 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 959 + inkscape:connector-curvature="0" /> 960 + </marker> 961 + <marker 962 + inkscape:stockid="Arrow2Lend" 963 + orient="auto" 964 + refY="0" 965 + refX="0" 966 + id="marker3193" 967 + style="overflow:visible"> 968 + <path 969 + id="path3195" 970 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 971 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 972 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 973 + inkscape:connector-curvature="0" /> 974 + </marker> 975 + <marker 976 + inkscape:stockid="Arrow2Lend" 977 + orient="auto" 978 + refY="0" 979 + refX="0" 980 + id="marker3197" 981 + style="overflow:visible"> 982 + <path 983 + id="path3199" 984 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 985 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 986 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 987 + inkscape:connector-curvature="0" /> 988 + </marker> 989 + <marker 990 + inkscape:stockid="Arrow1Send" 991 + orient="auto" 992 + refY="0" 993 + refX="0" 994 + id="Arrow1Send-35" 995 + style="overflow:visible"> 996 + <path 997 + id="path3940-70" 998 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 999 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 1000 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 1001 + inkscape:connector-curvature="0" /> 1002 + </marker> 1003 + <marker 1004 + inkscape:stockid="Arrow1Send" 1005 + orient="auto" 1006 + refY="0" 1007 + refX="0" 1008 + id="marker3203-8" 1009 + style="overflow:visible"> 1010 + <path 1011 + id="path3205-1" 1012 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 1013 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 1014 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 1015 + inkscape:connector-curvature="0" /> 1016 + </marker> 1017 + <marker 1018 + inkscape:stockid="Arrow1Send" 1019 + orient="auto" 1020 + refY="0" 1021 + refX="0" 1022 + id="Arrow1Send-83" 1023 + style="overflow:visible"> 1024 + <path 1025 + id="path3940-79" 1026 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 1027 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 1028 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 1029 + inkscape:connector-curvature="0" /> 1030 + </marker> 1031 + <marker 1032 + inkscape:stockid="Arrow1Send" 1033 + orient="auto" 1034 + refY="0" 1035 + refX="0" 1036 + id="marker3038" 1037 + style="overflow:visible"> 1038 + <path 1039 + id="path3040" 1040 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 1041 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 1042 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 1043 + inkscape:connector-curvature="0" /> 1044 + </marker> 1045 + <marker 1046 + inkscape:stockid="Arrow1Send" 1047 + orient="auto" 1048 + refY="0" 1049 + refX="0" 1050 + id="marker3042" 1051 + style="overflow:visible"> 1052 + <path 1053 + id="path3044" 1054 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 1055 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 1056 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 1057 + inkscape:connector-curvature="0" /> 1058 + </marker> 1059 + </defs> 1060 + <sodipodi:namedview 1061 + pagecolor="#ffffff" 1062 + bordercolor="#666666" 1063 + borderopacity="1" 1064 + objecttolerance="10" 1065 + gridtolerance="10" 1066 + guidetolerance="10" 1067 + inkscape:pageopacity="0" 1068 + inkscape:pageshadow="2" 1069 + inkscape:window-width="1087" 1070 + inkscape:window-height="1144" 1071 + id="namedview208" 1072 + showgrid="true" 1073 + inkscape:zoom="0.6004608" 1074 + inkscape:cx="826.65969" 1075 + inkscape:cy="483.3047" 1076 + inkscape:window-x="66" 1077 + inkscape:window-y="28" 1078 + inkscape:window-maximized="0" 1079 + inkscape:current-layer="svg2" 1080 + fit-margin-top="5" 1081 + fit-margin-right="5" 1082 + fit-margin-left="5" 1083 + fit-margin-bottom="5"> 1084 + <inkscape:grid 1085 + type="xygrid" 1086 + id="grid3079" 1087 + empspacing="5" 1088 + visible="true" 1089 + enabled="true" 1090 + snapvisiblegridlinesonly="true" 1091 + originx="413.99932px" 1092 + originy="5758.0031px" /> 1093 + </sodipodi:namedview> 1094 + <g 1095 + style="fill:none;stroke-width:0.025in" 1096 + id="g4" 1097 + transform="translate(4751.9713,-1307.071)"> 1098 + <path 1099 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 1100 + d="m 6161.6776,2411.7612 0,6117.1391" 1101 + id="path3134-9-0-3" 1102 + inkscape:connector-curvature="0" 1103 + sodipodi:nodetypes="cc" /> 1104 + <path 1105 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 1106 + d="m 6161.6776,3342.6302 -3856.4573,0 10.6979,5757.1962 2918.1436,-2e-4" 1107 + id="path3134-9-0" 1108 + inkscape:connector-curvature="0" 1109 + sodipodi:nodetypes="cccc" /> 1110 + <path 1111 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 1112 + d="m 6161.6776,3342.6302 3856.4574,0 -12.188,5757.1963 -2918.1436,-3e-4" 1113 + id="path3134-9-0-7" 1114 + inkscape:connector-curvature="0" 1115 + sodipodi:nodetypes="cccc" /> 1116 + <!-- Line: box --> 1117 + <!-- Line: box --> 1118 + <!-- Line: box --> 1119 + <!-- Line --> 1120 + <!-- Arrowhead on XXXpoint 5250 8100 - 5710 5790--> 1121 + <!-- Line --> 1122 + <!-- Arrowhead on XXXpoint 4050 9300 - 4512 7140--> 1123 + <!-- Line --> 1124 + <!-- Arrowhead on XXXpoint 1040 9300 - 1502 7140--> 1125 + <!-- Line --> 1126 + <!-- Arrowhead on XXXpoint 2240 8100 - 2702 5940--> 1127 + <!-- Line: box --> 1128 + <!-- Line: box --> 1129 + <!-- Line --> 1130 + <!-- Arrowhead on XXXpoint 1350 3450 - 2444 2510--> 1131 + <!-- Line --> 1132 + <!-- Arrowhead on XXXpoint 4950 3450 - 3854 2510--> 1133 + <!-- Line --> 1134 + <!-- Arrowhead on XXXpoint 4050 6600 - 4050 4290--> 1135 + <!-- Line --> 1136 + <!-- Arrowhead on XXXpoint 1050 6600 - 1050 4290--> 1137 + <!-- Line --> 1138 + <!-- Arrowhead on XXXpoint 2250 5400 - 2250 4290--> 1139 + <!-- Line --> 1140 + <!-- Arrowhead on XXXpoint 2250 8100 - 2250 6240--> 1141 + <!-- Line --> 1142 + <!-- Arrowhead on XXXpoint 1050 9300 - 1050 7440--> 1143 + <!-- Line --> 1144 + <!-- Arrowhead on XXXpoint 4050 9300 - 4050 7440--> 1145 + <!-- Line --> 1146 + <!-- Arrowhead on XXXpoint 5250 8100 - 5250 6240--> 1147 + <!-- Circle --> 1148 + <!-- Circle --> 1149 + <!-- Circle --> 1150 + <!-- Circle --> 1151 + <!-- Circle --> 1152 + <!-- Circle --> 1153 + <!-- Circle --> 1154 + <!-- Circle --> 1155 + <!-- Circle --> 1156 + <!-- Line: box --> 1157 + <!-- Line: box --> 1158 + <!-- Line: box --> 1159 + <!-- Line: box --> 1160 + <!-- Line: box --> 1161 + <!-- Line: box --> 1162 + <!-- Line: box --> 1163 + <!-- Line: box --> 1164 + <!-- Line: box --> 1165 + <!-- Line: box --> 1166 + <!-- Line --> 1167 + <!-- Line --> 1168 + <!-- Arrowhead on XXXpoint 9300 3150 - 10860 3150--> 1169 + <!-- Line: box --> 1170 + <!-- Line --> 1171 + <!-- Arrowhead on XXXpoint 11400 3600 - 11400 4410--> 1172 + <!-- Line: box --> 1173 + <!-- Line --> 1174 + <!-- Arrowhead on XXXpoint 11400 5100 - 11400 5910--> 1175 + <!-- Line: box --> 1176 + <!-- Line --> 1177 + <!-- Arrowhead on XXXpoint 9900 4650 - 10860 4650--> 1178 + <!-- Line --> 1179 + <!-- Arrowhead on XXXpoint 9600 6150 - 10860 6150--> 1180 + <!-- Text --> 1181 + <!-- Text --> 1182 + <!-- Text --> 1183 + <!-- Text --> 1184 + <!-- Text --> 1185 + <!-- Text --> 1186 + <!-- Text --> 1187 + <!-- Text --> 1188 + <!-- Text --> 1189 + <!-- Text --> 1190 + <!-- Text --> 1191 + <!-- Text --> 1192 + <!-- Text --> 1193 + <!-- Text --> 1194 + <!-- Text --> 1195 + <!-- Text --> 1196 + <!-- Text --> 1197 + <!-- Text --> 1198 + <!-- Text --> 1199 + <!-- Text --> 1200 + <!-- Text --> 1201 + <!-- Text --> 1202 + <!-- Text --> 1203 + <!-- Text --> 1204 + <!-- Text --> 1205 + <!-- Text --> 1206 + <!-- Line --> 1207 + <!-- Arrowhead on XXXpoint 5250 5400 - 5250 4290--> 1208 + <!-- Line: box --> 1209 + <!-- Line: box --> 1210 + <!-- Line: box --> 1211 + <!-- Line: box --> 1212 + <!-- Text --> 1213 + <!-- Text --> 1214 + <!-- Text --> 1215 + <!-- Text --> 1216 + <!-- Text --> 1217 + <rect 1218 + x="4544.7305" 1219 + y="4603.417" 1220 + width="3240.0088" 1221 + height="2650.6289" 1222 + rx="0" 1223 + style="stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 1224 + id="rect118" 1225 + ry="0" /> 1226 + <text 1227 + xml:space="preserve" 1228 + x="5073.3374" 1229 + y="6372.4521" 1230 + font-style="normal" 1231 + font-weight="bold" 1232 + font-size="192" 1233 + id="text202" 1234 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rcu_accelerate_cbs()</text> 1235 + <g 1236 + id="g3107" 1237 + transform="translate(2715.7065,4700.8888)"> 1238 + <rect 1239 + id="rect112" 1240 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1241 + rx="0" 1242 + height="1370.8721" 1243 + width="2809.1992" 1244 + y="949.37109" 1245 + x="2084.55" /> 1246 + <rect 1247 + id="rect112-3" 1248 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1249 + rx="0" 1250 + height="1294.8468" 1251 + width="2809.1992" 1252 + y="1025.3964" 1253 + x="2084.55" /> 1254 + </g> 1255 + <text 1256 + xml:space="preserve" 1257 + x="4773.3452" 1258 + y="4825.2578" 1259 + font-style="normal" 1260 + font-weight="bold" 1261 + font-size="192" 1262 + id="text202-7" 1263 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_prepare_for_idle()</text> 1264 + <rect 1265 + x="790.93585" 1266 + y="4630.8252" 1267 + width="3240.0088" 1268 + height="2650.6289" 1269 + rx="0" 1270 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.0005789, 60.00115781;stroke-dashoffset:0" 1271 + id="rect118-3" 1272 + ry="0" /> 1273 + <text 1274 + xml:space="preserve" 1275 + x="1319.5447" 1276 + y="6639.2261" 1277 + font-style="normal" 1278 + font-weight="bold" 1279 + font-size="192" 1280 + id="text202-6" 1281 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_accelerate_cbs()</text> 1282 + <g 1283 + style="fill:none;stroke-width:0.025in" 1284 + id="g3107-7" 1285 + transform="translate(-1038.0776,4728.2971)"> 1286 + <rect 1287 + id="rect112-5" 1288 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1289 + rx="0" 1290 + height="1370.8721" 1291 + width="2809.1992" 1292 + y="949.37109" 1293 + x="2084.55" /> 1294 + <rect 1295 + id="rect112-3-3" 1296 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1297 + rx="0" 1298 + height="1294.8468" 1299 + width="2809.1992" 1300 + y="1025.3964" 1301 + x="2084.55" /> 1302 + </g> 1303 + <text 1304 + xml:space="preserve" 1305 + x="1019.5512" 1306 + y="4852.666" 1307 + font-style="normal" 1308 + font-weight="bold" 1309 + font-size="192" 1310 + id="text202-7-5" 1311 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">note_gp_changes()</text> 1312 + <text 1313 + xml:space="preserve" 1314 + x="1319.5447" 1315 + y="6376.6328" 1316 + font-style="normal" 1317 + font-weight="bold" 1318 + font-size="192" 1319 + id="text202-6-6" 1320 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_advance_cbs()</text> 1321 + <text 1322 + xml:space="preserve" 1323 + x="1340.6649" 1324 + y="6111.4473" 1325 + font-style="normal" 1326 + font-weight="bold" 1327 + font-size="192" 1328 + id="text202-6-6-2" 1329 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">__note_gp_changes()</text> 1330 + <rect 1331 + x="5422.6279" 1332 + y="3041.8311" 1333 + width="1480.4871" 1334 + height="379.24637" 1335 + rx="0" 1336 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.0005789, 60.00115794;stroke-dashoffset:0" 1337 + id="rect118-3-9" 1338 + ry="0" /> 1339 + <text 1340 + xml:space="preserve" 1341 + x="5607.2734" 1342 + y="3283.3892" 1343 + font-style="normal" 1344 + font-weight="bold" 1345 + font-size="192" 1346 + id="text202-7-5-1" 1347 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">call_rcu()</text> 1348 + <path 1349 + sodipodi:type="arc" 1350 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1351 + id="path3084" 1352 + sodipodi:cx="319.379" 1353 + sodipodi:cy="345.54001" 1354 + sodipodi:rx="65.917107" 1355 + sodipodi:ry="39.550262" 1356 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1357 + transform="matrix(13.298129,0,0,13.298129,1915.7286,4523.6528)" /> 1358 + <text 1359 + xml:space="preserve" 1360 + x="5853.9238" 1361 + y="8902.3623" 1362 + font-style="normal" 1363 + font-weight="bold" 1364 + font-size="192" 1365 + id="text202-7-5-1-2" 1366 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1367 + sodipodi:linespacing="125%"><tspan 1368 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1369 + id="tspan3104">Wake up</tspan></text> 1370 + <text 1371 + xml:space="preserve" 1372 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1373 + x="6165.7158" 1374 + y="9122.8174" 1375 + id="text3110" 1376 + sodipodi:linespacing="125%"><tspan 1377 + sodipodi:role="line" 1378 + id="tspan3112" 1379 + x="6165.7158" 1380 + y="9122.8174">grace-period</tspan></text> 1381 + <text 1382 + xml:space="preserve" 1383 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1384 + x="6162.8716" 1385 + y="9364.3564" 1386 + id="text3114" 1387 + sodipodi:linespacing="125%"><tspan 1388 + sodipodi:role="line" 1389 + id="tspan3116" 1390 + x="6162.8716" 1391 + y="9364.3564">kernel thread</tspan></text> 1392 + <rect 1393 + x="8239.8516" 1394 + y="4608.7363" 1395 + width="3240.0088" 1396 + height="2650.6289" 1397 + rx="0" 1398 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057902, 60.00115804;stroke-dashoffset:0" 1399 + id="rect118-36" 1400 + ry="0" /> 1401 + <text 1402 + xml:space="preserve" 1403 + x="8768.4678" 1404 + y="6484.1562" 1405 + font-style="normal" 1406 + font-weight="bold" 1407 + font-size="192" 1408 + id="text202-75" 1409 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_accelerate_cbs()</text> 1410 + <g 1411 + style="fill:none;stroke-width:0.025in" 1412 + id="g3107-3" 1413 + transform="translate(6410.833,4706.2127)"> 1414 + <rect 1415 + id="rect112-56" 1416 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1417 + rx="0" 1418 + height="1370.8721" 1419 + width="2809.1992" 1420 + y="949.37109" 1421 + x="2084.55" /> 1422 + <rect 1423 + id="rect112-3-2" 1424 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1425 + rx="0" 1426 + height="1294.8468" 1427 + width="2809.1992" 1428 + y="1025.3964" 1429 + x="2084.55" /> 1430 + </g> 1431 + <text 1432 + xml:space="preserve" 1433 + x="8329.5352" 1434 + y="4830.5771" 1435 + font-style="normal" 1436 + font-weight="bold" 1437 + font-size="192" 1438 + id="text202-7-9" 1439 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">takedown_cpu()</text> 1440 + <text 1441 + xml:space="preserve" 1442 + x="8335.4873" 1443 + y="5094.127" 1444 + font-style="normal" 1445 + font-weight="bold" 1446 + font-size="192" 1447 + id="text202-7-9-6" 1448 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_migrate_callbacks()</text> 1449 + <text 1450 + xml:space="preserve" 1451 + x="8335.4873" 1452 + y="5357.1006" 1453 + font-style="normal" 1454 + font-weight="bold" 1455 + font-size="192" 1456 + id="text202-7-9-6-0" 1457 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_migrate_callbacks()</text> 1458 + <text 1459 + xml:space="preserve" 1460 + x="8768.4678" 1461 + y="6224.9038" 1462 + font-style="normal" 1463 + font-weight="bold" 1464 + font-size="192" 1465 + id="text202-6-6-6" 1466 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_advance_cbs()</text> 1467 + <text 1468 + xml:space="preserve" 1469 + x="3467.9963" 1470 + y="6987.9912" 1471 + font-style="normal" 1472 + font-weight="bold" 1473 + font-size="192" 1474 + id="text202-7-5-1-2-3" 1475 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1476 + sodipodi:linespacing="125%"><tspan 1477 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1478 + id="tspan3104-6">Leaf</tspan></text> 1479 + <text 1480 + xml:space="preserve" 1481 + x="7220.106" 1482 + y="6961.395" 1483 + font-style="normal" 1484 + font-weight="bold" 1485 + font-size="192" 1486 + id="text202-7-5-1-2-3-7" 1487 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1488 + sodipodi:linespacing="125%"><tspan 1489 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1490 + id="tspan3104-6-5">Leaf</tspan></text> 1491 + <text 1492 + xml:space="preserve" 1493 + x="10905.331" 1494 + y="6961.395" 1495 + font-style="normal" 1496 + font-weight="bold" 1497 + font-size="192" 1498 + id="text202-7-5-1-2-3-7-3" 1499 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1500 + sodipodi:linespacing="125%"><tspan 1501 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1502 + id="tspan3104-6-5-5">Leaf</tspan></text> 1503 + <path 1504 + sodipodi:type="arc" 1505 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1506 + id="path3084-3" 1507 + sodipodi:cx="319.379" 1508 + sodipodi:cy="345.54001" 1509 + sodipodi:rx="65.917107" 1510 + sodipodi:ry="39.550262" 1511 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1512 + transform="matrix(13.298129,0,0,13.298129,1872.6808,-2726.4833)" /> 1513 + <text 1514 + xml:space="preserve" 1515 + x="5717.4517" 1516 + y="1785.2073" 1517 + font-style="normal" 1518 + font-weight="bold" 1519 + font-size="192" 1520 + id="text202-7-5-1-2-6" 1521 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1522 + sodipodi:linespacing="125%"><tspan 1523 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1524 + id="tspan3104-7">Phase One</tspan></text> 1525 + <text 1526 + xml:space="preserve" 1527 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1528 + x="6119.668" 1529 + y="2005.6624" 1530 + id="text3110-5" 1531 + sodipodi:linespacing="125%"><tspan 1532 + sodipodi:role="line" 1533 + id="tspan3112-3" 1534 + x="6119.668" 1535 + y="2005.6624">of Update</tspan></text> 1536 + <path 1537 + sodipodi:nodetypes="cc" 1538 + inkscape:connector-curvature="0" 1539 + id="path3134-9-0-3-3" 1540 + d="m 6169.6477,11384.719 0,8777.145" 1541 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 1542 + <g 1543 + style="fill:none;stroke-width:0.025in" 1544 + transform="translate(1749.0282,658.72243)" 1545 + id="g3188"> 1546 + <text 1547 + xml:space="preserve" 1548 + x="3305.5364" 1549 + y="13255.592" 1550 + font-style="normal" 1551 + font-weight="bold" 1552 + font-size="192" 1553 + id="text202-5" 1554 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rsp-&gt;gpnum++</text> 1555 + <g 1556 + id="g3107-62" 1557 + transform="translate(947.90548,11584.029)"> 1558 + <rect 1559 + id="rect112-9" 1560 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1561 + rx="0" 1562 + height="1370.8721" 1563 + width="2809.1992" 1564 + y="949.37109" 1565 + x="2084.55" /> 1566 + <rect 1567 + id="rect112-3-1" 1568 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1569 + rx="0" 1570 + height="1294.8468" 1571 + width="2809.1992" 1572 + y="1025.3964" 1573 + x="2084.55" /> 1574 + </g> 1575 + <text 1576 + xml:space="preserve" 1577 + x="5452.3052" 1578 + y="13844.535" 1579 + font-style="normal" 1580 + font-weight="bold" 1581 + font-size="192" 1582 + id="text202-7-5-1-2-3-7-2" 1583 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1584 + sodipodi:linespacing="125%"><tspan 1585 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1586 + id="tspan3104-6-5-7">Root</tspan></text> 1587 + </g> 1588 + <rect 1589 + ry="0" 1590 + id="rect118-0" 1591 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057845, 60.00115689;stroke-dashoffset:0" 1592 + rx="0" 1593 + height="23612.516" 1594 + width="13607.611" 1595 + y="12709.474" 1596 + x="-663.88806" /> 1597 + <text 1598 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1599 + id="text202-7-93" 1600 + font-size="192" 1601 + font-weight="bold" 1602 + font-style="normal" 1603 + y="12968.928" 1604 + x="-548.11169" 1605 + xml:space="preserve">rcu_gp_init()</text> 1606 + <g 1607 + style="fill:none;stroke-width:0.025in" 1608 + transform="translate(1628.5648,695.08943)" 1609 + id="g3147"> 1610 + <g 1611 + style="fill:none;stroke-width:0.025in" 1612 + id="g3107-6" 1613 + transform="translate(3054.6101,13760.052)"> 1614 + <rect 1615 + id="rect112-7" 1616 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1617 + rx="0" 1618 + height="1370.8721" 1619 + width="2809.1992" 1620 + y="949.37109" 1621 + x="2084.55" /> 1622 + <rect 1623 + id="rect112-3-5" 1624 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1625 + rx="0" 1626 + height="1294.8468" 1627 + width="2809.1992" 1628 + y="1025.3964" 1629 + x="2084.55" /> 1630 + </g> 1631 + </g> 1632 + <g 1633 + style="fill:none;stroke-width:0.025in" 1634 + transform="translate(2479.6454,658.72243)" 1635 + id="g3153"> 1636 + <g 1637 + style="fill:none;stroke-width:0.025in" 1638 + id="g3107-6-9" 1639 + transform="translate(5213.0126,16008.808)"> 1640 + <rect 1641 + id="rect112-7-1" 1642 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1643 + rx="0" 1644 + height="1370.8721" 1645 + width="2809.1992" 1646 + y="949.37109" 1647 + x="2084.55" /> 1648 + <rect 1649 + id="rect112-3-5-2" 1650 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1651 + rx="0" 1652 + height="1294.8468" 1653 + width="2809.1992" 1654 + y="1025.3964" 1655 + x="2084.55" /> 1656 + </g> 1657 + <text 1658 + xml:space="preserve" 1659 + x="9717.4141" 1660 + y="18269.314" 1661 + font-style="normal" 1662 + font-weight="bold" 1663 + font-size="192" 1664 + id="text202-7-5-1-2-3-7-35-7" 1665 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1666 + sodipodi:linespacing="125%"><tspan 1667 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1668 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 1669 + </g> 1670 + <g 1671 + transform="translate(-2343.9166,695.08943)" 1672 + id="g3147-3" 1673 + style="fill:none;stroke-width:0.025in"> 1674 + <g 1675 + style="fill:none;stroke-width:0.025in" 1676 + id="g3107-6-6" 1677 + transform="translate(3054.6101,13760.052)"> 1678 + <rect 1679 + id="rect112-7-0" 1680 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1681 + rx="0" 1682 + height="1370.8721" 1683 + width="2809.1992" 1684 + y="949.37109" 1685 + x="2084.55" /> 1686 + <rect 1687 + id="rect112-3-5-6" 1688 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1689 + rx="0" 1690 + height="1294.8468" 1691 + width="2809.1992" 1692 + y="1025.3964" 1693 + x="2084.55" /> 1694 + </g> 1695 + </g> 1696 + <g 1697 + transform="translate(-853.09625,658.72243)" 1698 + id="g3153-2" 1699 + style="fill:none;stroke-width:0.025in"> 1700 + <g 1701 + style="fill:none;stroke-width:0.025in" 1702 + id="g3107-6-9-6" 1703 + transform="translate(5213.0126,16008.808)"> 1704 + <rect 1705 + id="rect112-7-1-1" 1706 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1707 + rx="0" 1708 + height="1370.8721" 1709 + width="2809.1992" 1710 + y="949.37109" 1711 + x="2084.55" /> 1712 + <rect 1713 + id="rect112-3-5-2-8" 1714 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1715 + rx="0" 1716 + height="1294.8468" 1717 + width="2809.1992" 1718 + y="1025.3964" 1719 + x="2084.55" /> 1720 + </g> 1721 + <text 1722 + xml:space="preserve" 1723 + x="9717.4141" 1724 + y="18269.314" 1725 + font-style="normal" 1726 + font-weight="bold" 1727 + font-size="192" 1728 + id="text202-7-5-1-2-3-7-35-7-7" 1729 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1730 + sodipodi:linespacing="125%"><tspan 1731 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1732 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 1733 + </g> 1734 + <g 1735 + transform="translate(-4185.8377,658.72243)" 1736 + id="g3153-20" 1737 + style="fill:none;stroke-width:0.025in"> 1738 + <g 1739 + style="fill:none;stroke-width:0.025in" 1740 + id="g3107-6-9-2" 1741 + transform="translate(5213.0126,16008.808)"> 1742 + <rect 1743 + id="rect112-7-1-3" 1744 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1745 + rx="0" 1746 + height="1370.8721" 1747 + width="2809.1992" 1748 + y="949.37109" 1749 + x="2084.55" /> 1750 + <rect 1751 + id="rect112-3-5-2-7" 1752 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1753 + rx="0" 1754 + height="1294.8468" 1755 + width="2809.1992" 1756 + y="1025.3964" 1757 + x="2084.55" /> 1758 + </g> 1759 + <text 1760 + xml:space="preserve" 1761 + x="9717.4141" 1762 + y="18269.314" 1763 + font-style="normal" 1764 + font-weight="bold" 1765 + font-size="192" 1766 + id="text202-7-5-1-2-3-7-35-7-5" 1767 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1768 + sodipodi:linespacing="125%"><tspan 1769 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1770 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 1771 + </g> 1772 + <g 1773 + transform="translate(-7518.5789,658.72243)" 1774 + id="g3153-28" 1775 + style="fill:none;stroke-width:0.025in"> 1776 + <g 1777 + style="fill:none;stroke-width:0.025in" 1778 + id="g3107-6-9-9" 1779 + transform="translate(5213.0126,16008.808)"> 1780 + <rect 1781 + id="rect112-7-1-7" 1782 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1783 + rx="0" 1784 + height="1370.8721" 1785 + width="2809.1992" 1786 + y="949.37109" 1787 + x="2084.55" /> 1788 + <rect 1789 + id="rect112-3-5-2-3" 1790 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1791 + rx="0" 1792 + height="1294.8468" 1793 + width="2809.1992" 1794 + y="1025.3964" 1795 + x="2084.55" /> 1796 + </g> 1797 + <text 1798 + xml:space="preserve" 1799 + x="9717.4141" 1800 + y="18269.314" 1801 + font-style="normal" 1802 + font-weight="bold" 1803 + font-size="192" 1804 + id="text202-7-5-1-2-3-7-35-7-6" 1805 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1806 + sodipodi:linespacing="125%"><tspan 1807 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 1808 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 1809 + </g> 1810 + <path 1811 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1812 + d="m 4772.378,14541.058 -582.9982,865.094" 1813 + id="path3414" 1814 + inkscape:connector-curvature="0" /> 1815 + <path 1816 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1817 + d="m 7581.1599,14541.32 582.9982,865.094" 1818 + id="path3414-9" 1819 + inkscape:connector-curvature="0" /> 1820 + <path 1821 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1822 + d="m 2821.7449,16754.235 -582.9982,865.094" 1823 + id="path3414-8" 1824 + inkscape:connector-curvature="0" /> 1825 + <path 1826 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1827 + d="m 9566.7916,16754.497 583.0014,865.094" 1828 + id="path3414-9-4" 1829 + inkscape:connector-curvature="0" /> 1830 + <path 1831 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1832 + d="m 4238.2414,16754.235 0,846.288" 1833 + id="path3414-8-3" 1834 + inkscape:connector-curvature="0" 1835 + sodipodi:nodetypes="cc" /> 1836 + <path 1837 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 1838 + d="m 8115.2166,16780.831 0,846.288" 1839 + id="path3414-8-3-6" 1840 + inkscape:connector-curvature="0" 1841 + sodipodi:nodetypes="cc" /> 1842 + <g 1843 + id="g4504-3-9" 1844 + transform="translate(4164.6575,-5087.5013)"> 1845 + <path 1846 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 1847 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1848 + sodipodi:ry="39.550262" 1849 + sodipodi:rx="65.917107" 1850 + sodipodi:cy="345.54001" 1851 + sodipodi:cx="319.379" 1852 + id="path3084-6-1" 1853 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1854 + sodipodi:type="arc" /> 1855 + <text 1856 + sodipodi:linespacing="125%" 1857 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1858 + id="text202-7-5-1-2-7-2" 1859 + font-size="192" 1860 + font-weight="bold" 1861 + font-style="normal" 1862 + y="16888.277" 1863 + x="4344.877" 1864 + xml:space="preserve"><tspan 1865 + id="tspan3104-5-7" 1866 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">End of</tspan></text> 1867 + <text 1868 + sodipodi:linespacing="125%" 1869 + id="text3110-3-0" 1870 + y="17119.1" 1871 + x="4578.7886" 1872 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1873 + xml:space="preserve"><tspan 1874 + y="17119.1" 1875 + x="4578.7886" 1876 + id="tspan3112-5-9" 1877 + sodipodi:role="line">Last Grace</tspan></text> 1878 + <text 1879 + sodipodi:linespacing="125%" 1880 + id="text3114-6-3" 1881 + y="17350.271" 1882 + x="4581.7886" 1883 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1884 + xml:space="preserve"><tspan 1885 + y="17350.271" 1886 + x="4581.7886" 1887 + id="tspan3116-2-6" 1888 + sodipodi:role="line">Period</tspan></text> 1889 + </g> 1890 + <path 1891 + sodipodi:nodetypes="cc" 1892 + inkscape:connector-curvature="0" 1893 + id="path3134-9-0-3-5" 1894 + d="m 7845.2122,11943.62 -1595.7756,0" 1895 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)" /> 1896 + <path 1897 + sodipodi:type="arc" 1898 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1899 + id="path3084-6" 1900 + sodipodi:cx="319.379" 1901 + sodipodi:cy="345.54001" 1902 + sodipodi:rx="65.917107" 1903 + sodipodi:ry="39.550262" 1904 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1905 + transform="matrix(13.298129,0,0,13.298129,1915.7264,6279.0065)" /> 1906 + <text 1907 + xml:space="preserve" 1908 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1909 + x="6165.6357" 1910 + y="10691.992" 1911 + id="text3110-0" 1912 + sodipodi:linespacing="125%"><tspan 1913 + sodipodi:role="line" 1914 + id="tspan3112-6" 1915 + x="6165.6357" 1916 + y="10691.992">Grace-period</tspan></text> 1917 + <text 1918 + xml:space="preserve" 1919 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1920 + x="6162.8696" 1921 + y="10947.994" 1922 + id="text3114-2" 1923 + sodipodi:linespacing="125%"><tspan 1924 + sodipodi:role="line" 1925 + id="tspan3116-6" 1926 + x="6162.8696" 1927 + y="10947.994">kernel thread</tspan></text> 1928 + <text 1929 + xml:space="preserve" 1930 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1931 + x="6165.3237" 1932 + y="11188.528" 1933 + id="text3114-1" 1934 + sodipodi:linespacing="125%"><tspan 1935 + sodipodi:role="line" 1936 + id="tspan3116-8" 1937 + x="6165.3237" 1938 + y="11188.528">awakened</tspan></text> 1939 + <path 1940 + sodipodi:nodetypes="cc" 1941 + inkscape:connector-curvature="0" 1942 + id="path3134-9-0-3-3-2" 1943 + d="m 6161.6774,9725.7319 0,531.9251" 1944 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 1945 + <path 1946 + sodipodi:nodetypes="cccccccccccccccccccccccccccc" 1947 + inkscape:connector-curvature="0" 1948 + id="path3134-9-0-3-1" 1949 + d="m 6169.1878,20208.525 -2.8277,1315.668 -5343.84363,17.12 -2.8276,6561.744 2039.08003,17.963 -2.7042,-2144.14 -491.6705,-0.211 -2.7042,-1993.689 1487.7179,-4.728 -17.7999,1812.453 2017.2372,-7.643 4.9533,-2151.572 -1405.5264,11.163 -10.9189,-1891.147 1739.2163,-2.718 -13.2006,4234.23 -1701.3596,1.395 -8.784,2107.712 1702.6392,-4.834 33.4144,-1867.716 1312.2491,12.923 14.608,1818.336 2000.0062,20.422 -12.279,-1841.411 1304.1668,1.615 -12.279,2032.706 -4638.6501,1.615 19.5828,569.038" 1950 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 1951 + <g 1952 + style="fill:none;stroke-width:0.025in" 1953 + transform="translate(1618.635,9512.0768)" 1954 + id="g3147-7"> 1955 + <g 1956 + style="fill:none;stroke-width:0.025in" 1957 + id="g3107-6-8" 1958 + transform="translate(3054.6101,13760.052)"> 1959 + <rect 1960 + id="rect112-7-4" 1961 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1962 + rx="0" 1963 + height="1370.8721" 1964 + width="2809.1992" 1965 + y="949.37109" 1966 + x="2084.55" /> 1967 + <rect 1968 + id="rect112-3-5-5" 1969 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1970 + rx="0" 1971 + height="1294.8468" 1972 + width="2809.1992" 1973 + y="1025.3964" 1974 + x="2084.55" /> 1975 + </g> 1976 + </g> 1977 + <g 1978 + style="fill:none;stroke-width:0.025in" 1979 + transform="translate(2469.7158,9475.7098)" 1980 + id="g3153-0"> 1981 + <g 1982 + style="fill:none;stroke-width:0.025in" 1983 + id="g3107-6-9-3" 1984 + transform="translate(5213.0126,16008.808)"> 1985 + <rect 1986 + id="rect112-7-1-6" 1987 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1988 + rx="0" 1989 + height="1370.8721" 1990 + width="2809.1992" 1991 + y="949.37109" 1992 + x="2084.55" /> 1993 + <rect 1994 + id="rect112-3-5-2-1" 1995 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 1996 + rx="0" 1997 + height="1294.8468" 1998 + width="2809.1992" 1999 + y="1025.3964" 2000 + x="2084.55" /> 2001 + </g> 2002 + <text 2003 + xml:space="preserve" 2004 + x="9717.4141" 2005 + y="18269.314" 2006 + font-style="normal" 2007 + font-weight="bold" 2008 + font-size="192" 2009 + id="text202-7-5-1-2-3-7-35-7-0" 2010 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2011 + sodipodi:linespacing="125%"><tspan 2012 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2013 + id="tspan3104-6-5-6-0-6">Leaf</tspan></text> 2014 + </g> 2015 + <g 2016 + transform="translate(-2353.8464,9512.0768)" 2017 + id="g3147-3-3" 2018 + style="fill:none;stroke-width:0.025in"> 2019 + <g 2020 + style="fill:none;stroke-width:0.025in" 2021 + id="g3107-6-6-2" 2022 + transform="translate(3054.6101,13760.052)"> 2023 + <rect 2024 + id="rect112-7-0-0" 2025 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2026 + rx="0" 2027 + height="1370.8721" 2028 + width="2809.1992" 2029 + y="949.37109" 2030 + x="2084.55" /> 2031 + <rect 2032 + id="rect112-3-5-6-6" 2033 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2034 + rx="0" 2035 + height="1294.8468" 2036 + width="2809.1992" 2037 + y="1025.3964" 2038 + x="2084.55" /> 2039 + </g> 2040 + <text 2041 + xml:space="preserve" 2042 + x="5398.415" 2043 + y="15310.093" 2044 + font-style="normal" 2045 + font-weight="bold" 2046 + font-size="192" 2047 + id="text202-8" 2048 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinit</text> 2049 + <text 2050 + xml:space="preserve" 2051 + x="5398.415" 2052 + y="15545.01" 2053 + font-style="normal" 2054 + font-weight="bold" 2055 + font-size="192" 2056 + id="text202-5-8" 2057 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 2058 + </g> 2059 + <g 2060 + transform="translate(-863.02623,9475.7098)" 2061 + id="g3153-2-1" 2062 + style="fill:none;stroke-width:0.025in"> 2063 + <g 2064 + style="fill:none;stroke-width:0.025in" 2065 + id="g3107-6-9-6-5" 2066 + transform="translate(5213.0126,16008.808)"> 2067 + <rect 2068 + id="rect112-7-1-1-5" 2069 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2070 + rx="0" 2071 + height="1370.8721" 2072 + width="2809.1992" 2073 + y="949.37109" 2074 + x="2084.55" /> 2075 + <rect 2076 + id="rect112-3-5-2-8-4" 2077 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2078 + rx="0" 2079 + height="1294.8468" 2080 + width="2809.1992" 2081 + y="1025.3964" 2082 + x="2084.55" /> 2083 + </g> 2084 + <text 2085 + xml:space="preserve" 2086 + x="9717.4141" 2087 + y="18269.314" 2088 + font-style="normal" 2089 + font-weight="bold" 2090 + font-size="192" 2091 + id="text202-7-5-1-2-3-7-35-7-7-7" 2092 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2093 + sodipodi:linespacing="125%"><tspan 2094 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2095 + id="tspan3104-6-5-6-0-9-6">Leaf</tspan></text> 2096 + </g> 2097 + <g 2098 + transform="translate(-4195.7676,9475.7098)" 2099 + id="g3153-20-5" 2100 + style="fill:none;stroke-width:0.025in"> 2101 + <g 2102 + style="fill:none;stroke-width:0.025in" 2103 + id="g3107-6-9-2-6" 2104 + transform="translate(5213.0126,16008.808)"> 2105 + <rect 2106 + id="rect112-7-1-3-9" 2107 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2108 + rx="0" 2109 + height="1370.8721" 2110 + width="2809.1992" 2111 + y="949.37109" 2112 + x="2084.55" /> 2113 + <rect 2114 + id="rect112-3-5-2-7-3" 2115 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2116 + rx="0" 2117 + height="1294.8468" 2118 + width="2809.1992" 2119 + y="1025.3964" 2120 + x="2084.55" /> 2121 + </g> 2122 + <text 2123 + xml:space="preserve" 2124 + x="9717.4141" 2125 + y="18269.314" 2126 + font-style="normal" 2127 + font-weight="bold" 2128 + font-size="192" 2129 + id="text202-7-5-1-2-3-7-35-7-5-7" 2130 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2131 + sodipodi:linespacing="125%"><tspan 2132 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2133 + id="tspan3104-6-5-6-0-92-4">Leaf</tspan></text> 2134 + </g> 2135 + <g 2136 + transform="translate(-7528.5086,9475.7098)" 2137 + id="g3153-28-5" 2138 + style="fill:none;stroke-width:0.025in"> 2139 + <g 2140 + style="fill:none;stroke-width:0.025in" 2141 + id="g3107-6-9-9-2" 2142 + transform="translate(5213.0126,16008.808)"> 2143 + <rect 2144 + id="rect112-7-1-7-5" 2145 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2146 + rx="0" 2147 + height="1370.8721" 2148 + width="2809.1992" 2149 + y="949.37109" 2150 + x="2084.55" /> 2151 + <rect 2152 + id="rect112-3-5-2-3-4" 2153 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2154 + rx="0" 2155 + height="1294.8468" 2156 + width="2809.1992" 2157 + y="1025.3964" 2158 + x="2084.55" /> 2159 + </g> 2160 + <text 2161 + xml:space="preserve" 2162 + x="9717.4141" 2163 + y="18269.314" 2164 + font-style="normal" 2165 + font-weight="bold" 2166 + font-size="192" 2167 + id="text202-7-5-1-2-3-7-35-7-6-7" 2168 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2169 + sodipodi:linespacing="125%"><tspan 2170 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2171 + id="tspan3104-6-5-6-0-1-4">Leaf</tspan></text> 2172 + <text 2173 + xml:space="preserve" 2174 + x="7699.7246" 2175 + y="17734.791" 2176 + font-style="normal" 2177 + font-weight="bold" 2178 + font-size="192" 2179 + id="text202-4" 2180 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinit</text> 2181 + </g> 2182 + <path 2183 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2184 + d="M 4762.4482,23358.047 4179.45,24223.141" 2185 + id="path3414-4" 2186 + inkscape:connector-curvature="0" /> 2187 + <path 2188 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2189 + d="m 7571.23,23358.309 582.9982,865.094" 2190 + id="path3414-9-3" 2191 + inkscape:connector-curvature="0" /> 2192 + <path 2193 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2194 + d="m 2811.8152,25571.224 -582.9982,865.094" 2195 + id="path3414-8-0" 2196 + inkscape:connector-curvature="0" /> 2197 + <path 2198 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2199 + d="m 9556.8622,25571.486 582.9988,865.094" 2200 + id="path3414-9-4-7" 2201 + inkscape:connector-curvature="0" /> 2202 + <path 2203 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2204 + d="m 4228.3115,25571.224 0,846.288" 2205 + id="path3414-8-3-8" 2206 + inkscape:connector-curvature="0" 2207 + sodipodi:nodetypes="cc" /> 2208 + <path 2209 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2210 + d="m 8105.2867,25597.82 0,846.288" 2211 + id="path3414-8-3-6-6" 2212 + inkscape:connector-curvature="0" 2213 + sodipodi:nodetypes="cc" /> 2214 + <rect 2215 + ry="0" 2216 + id="rect118-1" 2217 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115756;stroke-dashoffset:0" 2218 + rx="0" 2219 + height="4418.4302" 2220 + width="4932.5845" 2221 + y="21654.297" 2222 + x="1395.3682" /> 2223 + <text 2224 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2225 + id="text202-7-2" 2226 + font-size="192" 2227 + font-weight="bold" 2228 + font-style="normal" 2229 + y="21852.52" 2230 + x="1530.812" 2231 + xml:space="preserve" 2232 + sodipodi:linespacing="125%">rcu_init_new_rnp()<tspan 2233 + style="font-size:192px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2234 + id="tspan3307"> or</tspan></text> 2235 + <text 2236 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2237 + id="text202-7-2-7" 2238 + font-size="192" 2239 + font-weight="bold" 2240 + font-style="normal" 2241 + y="22120.592" 2242 + x="1530.812" 2243 + xml:space="preserve">rcu_cleanup_dead_rnp()</text> 2244 + <text 2245 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2246 + id="text202-7-2-7-6" 2247 + font-size="192" 2248 + font-weight="bold" 2249 + font-style="normal" 2250 + y="22389.539" 2251 + x="1533.6567" 2252 + xml:space="preserve" 2253 + sodipodi:linespacing="125%"><tspan 2254 + style="font-size:192px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2255 + id="tspan3327">(optional)</tspan></text> 2256 + <g 2257 + style="fill:none;stroke-width:0.025in" 2258 + transform="translate(1739.0986,9475.7098)" 2259 + id="g3188-8"> 2260 + <text 2261 + xml:space="preserve" 2262 + x="3305.5364" 2263 + y="13255.592" 2264 + font-style="normal" 2265 + font-weight="bold" 2266 + font-size="192" 2267 + id="text202-84" 2268 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;qsmaskinit</text> 2269 + <g 2270 + id="g3107-31" 2271 + transform="translate(947.90548,11584.029)"> 2272 + <rect 2273 + id="rect112-4" 2274 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2275 + rx="0" 2276 + height="1370.8721" 2277 + width="2809.1992" 2278 + y="949.37109" 2279 + x="2084.55" /> 2280 + <rect 2281 + id="rect112-3-9" 2282 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2283 + rx="0" 2284 + height="1294.8468" 2285 + width="2809.1992" 2286 + y="1025.3964" 2287 + x="2084.55" /> 2288 + </g> 2289 + <text 2290 + xml:space="preserve" 2291 + x="5452.3052" 2292 + y="13844.535" 2293 + font-style="normal" 2294 + font-weight="bold" 2295 + font-size="192" 2296 + id="text202-7-5-1-2-3-7-20" 2297 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2298 + sodipodi:linespacing="125%"><tspan 2299 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2300 + id="tspan3104-6-5-6">Root</tspan></text> 2301 + <text 2302 + xml:space="preserve" 2303 + x="3305.5364" 2304 + y="13490.509" 2305 + font-style="normal" 2306 + font-weight="bold" 2307 + font-size="192" 2308 + id="text202-5-89" 2309 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 2310 + </g> 2311 + <path 2312 + sodipodi:nodetypes="cccccccccccccccccccccccc" 2313 + inkscape:connector-curvature="0" 2314 + id="path3134-9-0-3-10" 2315 + d="m 6187.9943,28881.474 -2.8275,2480.757 -2316.0141,-1.687 -2.8276,2179.854 2321.1757,-0.843 -2.7041,-1843.237 2404.5141,-0.212 16.1022,1993.267 -7783.83443,-4.728 -16.7937,2120.395 2033.10343,-23.534 2.0128,-1866.562 2051.9098,14.079 2.0128,1838.299 1280.8474,-4.728 14.608,-1830.104 1312.2492,12.923 14.608,1818.336 2000.0057,20.422 -12.279,-1841.411 1304.167,1.615 -12.279,2032.706 -4638.6499,1.615 19.5828,569.038" 2316 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 2317 + <g 2318 + style="fill:none;stroke-width:0.025in" 2319 + transform="translate(1739.0986,17188.625)" 2320 + id="g3188-6"> 2321 + <text 2322 + xml:space="preserve" 2323 + x="3305.5364" 2324 + y="13255.592" 2325 + font-style="normal" 2326 + font-weight="bold" 2327 + font-size="192" 2328 + id="text202-1" 2329 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2330 + <g 2331 + id="g3107-5" 2332 + transform="translate(947.90548,11584.029)"> 2333 + <rect 2334 + id="rect112-94" 2335 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2336 + rx="0" 2337 + height="1370.8721" 2338 + width="2809.1992" 2339 + y="949.37109" 2340 + x="2084.55" /> 2341 + <rect 2342 + id="rect112-3-90" 2343 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2344 + rx="0" 2345 + height="1294.8468" 2346 + width="2809.1992" 2347 + y="1025.3964" 2348 + x="2084.55" /> 2349 + </g> 2350 + <text 2351 + xml:space="preserve" 2352 + x="5452.3052" 2353 + y="13844.535" 2354 + font-style="normal" 2355 + font-weight="bold" 2356 + font-size="192" 2357 + id="text202-7-5-1-2-3-7-9" 2358 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2359 + sodipodi:linespacing="125%"><tspan 2360 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2361 + id="tspan3104-6-5-1">Root</tspan></text> 2362 + </g> 2363 + <g 2364 + style="fill:none;stroke-width:0.025in" 2365 + transform="translate(1618.6352,17224.992)" 2366 + id="g3147-1"> 2367 + <g 2368 + style="fill:none;stroke-width:0.025in" 2369 + id="g3107-6-1" 2370 + transform="translate(3054.6101,13760.052)"> 2371 + <rect 2372 + id="rect112-7-5" 2373 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2374 + rx="0" 2375 + height="1370.8721" 2376 + width="2809.1992" 2377 + y="949.37109" 2378 + x="2084.55" /> 2379 + <rect 2380 + id="rect112-3-5-9" 2381 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2382 + rx="0" 2383 + height="1294.8468" 2384 + width="2809.1992" 2385 + y="1025.3964" 2386 + x="2084.55" /> 2387 + </g> 2388 + <text 2389 + xml:space="preserve" 2390 + x="5392.3345" 2391 + y="15407.104" 2392 + font-style="normal" 2393 + font-weight="bold" 2394 + font-size="192" 2395 + id="text202-6-7" 2396 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2397 + </g> 2398 + <g 2399 + style="fill:none;stroke-width:0.025in" 2400 + transform="translate(2469.7158,17188.625)" 2401 + id="g3153-7"> 2402 + <g 2403 + style="fill:none;stroke-width:0.025in" 2404 + id="g3107-6-9-67" 2405 + transform="translate(5213.0126,16008.808)"> 2406 + <rect 2407 + id="rect112-7-1-36" 2408 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2409 + rx="0" 2410 + height="1370.8721" 2411 + width="2809.1992" 2412 + y="949.37109" 2413 + x="2084.55" /> 2414 + <rect 2415 + id="rect112-3-5-2-5" 2416 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2417 + rx="0" 2418 + height="1294.8468" 2419 + width="2809.1992" 2420 + y="1025.3964" 2421 + x="2084.55" /> 2422 + </g> 2423 + <text 2424 + xml:space="preserve" 2425 + x="9717.4141" 2426 + y="18269.314" 2427 + font-style="normal" 2428 + font-weight="bold" 2429 + font-size="192" 2430 + id="text202-7-5-1-2-3-7-35-7-63" 2431 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2432 + sodipodi:linespacing="125%"><tspan 2433 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2434 + id="tspan3104-6-5-6-0-94">Leaf</tspan></text> 2435 + <text 2436 + xml:space="preserve" 2437 + x="7536.4883" 2438 + y="17640.934" 2439 + font-style="normal" 2440 + font-weight="bold" 2441 + font-size="192" 2442 + id="text202-9" 2443 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2444 + </g> 2445 + <g 2446 + transform="translate(-2353.8462,17224.992)" 2447 + id="g3147-3-8" 2448 + style="fill:none;stroke-width:0.025in"> 2449 + <g 2450 + style="fill:none;stroke-width:0.025in" 2451 + id="g3107-6-6-1" 2452 + transform="translate(3054.6101,13760.052)"> 2453 + <rect 2454 + id="rect112-7-0-2" 2455 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2456 + rx="0" 2457 + height="1370.8721" 2458 + width="2809.1992" 2459 + y="949.37109" 2460 + x="2084.55" /> 2461 + <rect 2462 + id="rect112-3-5-6-9" 2463 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2464 + rx="0" 2465 + height="1294.8468" 2466 + width="2809.1992" 2467 + y="1025.3964" 2468 + x="2084.55" /> 2469 + </g> 2470 + <text 2471 + xml:space="preserve" 2472 + x="5378.4146" 2473 + y="15436.927" 2474 + font-style="normal" 2475 + font-weight="bold" 2476 + font-size="192" 2477 + id="text202-3" 2478 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2479 + </g> 2480 + <g 2481 + transform="translate(-863.02613,17188.625)" 2482 + id="g3153-2-3" 2483 + style="fill:none;stroke-width:0.025in"> 2484 + <g 2485 + style="fill:none;stroke-width:0.025in" 2486 + id="g3107-6-9-6-9" 2487 + transform="translate(5213.0126,16008.808)"> 2488 + <rect 2489 + id="rect112-7-1-1-0" 2490 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2491 + rx="0" 2492 + height="1370.8721" 2493 + width="2809.1992" 2494 + y="949.37109" 2495 + x="2084.55" /> 2496 + <rect 2497 + id="rect112-3-5-2-8-8" 2498 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2499 + rx="0" 2500 + height="1294.8468" 2501 + width="2809.1992" 2502 + y="1025.3964" 2503 + x="2084.55" /> 2504 + </g> 2505 + <text 2506 + xml:space="preserve" 2507 + x="9717.4141" 2508 + y="18269.314" 2509 + font-style="normal" 2510 + font-weight="bold" 2511 + font-size="192" 2512 + id="text202-7-5-1-2-3-7-35-7-7-8" 2513 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2514 + sodipodi:linespacing="125%"><tspan 2515 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2516 + id="tspan3104-6-5-6-0-9-5">Leaf</tspan></text> 2517 + </g> 2518 + <g 2519 + transform="translate(-4195.7673,17188.625)" 2520 + id="g3153-20-0" 2521 + style="fill:none;stroke-width:0.025in"> 2522 + <g 2523 + style="fill:none;stroke-width:0.025in" 2524 + id="g3107-6-9-2-9" 2525 + transform="translate(5213.0126,16008.808)"> 2526 + <rect 2527 + id="rect112-7-1-3-6" 2528 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2529 + rx="0" 2530 + height="1370.8721" 2531 + width="2809.1992" 2532 + y="949.37109" 2533 + x="2084.55" /> 2534 + <rect 2535 + id="rect112-3-5-2-7-38" 2536 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2537 + rx="0" 2538 + height="1294.8468" 2539 + width="2809.1992" 2540 + y="1025.3964" 2541 + x="2084.55" /> 2542 + </g> 2543 + <text 2544 + xml:space="preserve" 2545 + x="9717.4141" 2546 + y="18269.314" 2547 + font-style="normal" 2548 + font-weight="bold" 2549 + font-size="192" 2550 + id="text202-7-5-1-2-3-7-35-7-5-5" 2551 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2552 + sodipodi:linespacing="125%"><tspan 2553 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2554 + id="tspan3104-6-5-6-0-92-6">Leaf</tspan></text> 2555 + <text 2556 + xml:space="preserve" 2557 + x="7520.1294" 2558 + y="17673.639" 2559 + font-style="normal" 2560 + font-weight="bold" 2561 + font-size="192" 2562 + id="text202-35" 2563 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2564 + </g> 2565 + <g 2566 + transform="translate(-7528.5085,17188.625)" 2567 + id="g3153-28-1" 2568 + style="fill:none;stroke-width:0.025in"> 2569 + <g 2570 + style="fill:none;stroke-width:0.025in" 2571 + id="g3107-6-9-9-1" 2572 + transform="translate(5213.0126,16008.808)"> 2573 + <rect 2574 + id="rect112-7-1-7-59" 2575 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2576 + rx="0" 2577 + height="1370.8721" 2578 + width="2809.1992" 2579 + y="949.37109" 2580 + x="2084.55" /> 2581 + <rect 2582 + id="rect112-3-5-2-3-8" 2583 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2584 + rx="0" 2585 + height="1294.8468" 2586 + width="2809.1992" 2587 + y="1025.3964" 2588 + x="2084.55" /> 2589 + </g> 2590 + <text 2591 + xml:space="preserve" 2592 + x="9717.4141" 2593 + y="18269.314" 2594 + font-style="normal" 2595 + font-weight="bold" 2596 + font-size="192" 2597 + id="text202-7-5-1-2-3-7-35-7-6-4" 2598 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2599 + sodipodi:linespacing="125%"><tspan 2600 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2601 + id="tspan3104-6-5-6-0-1-8">Leaf</tspan></text> 2602 + <text 2603 + xml:space="preserve" 2604 + x="7521.4663" 2605 + y="17666.062" 2606 + font-style="normal" 2607 + font-weight="bold" 2608 + font-size="192" 2609 + id="text202-75-1" 2610 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2611 + </g> 2612 + <path 2613 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2614 + d="m 4762.4484,31070.961 -582.9982,865.095" 2615 + id="path3414-0" 2616 + inkscape:connector-curvature="0" /> 2617 + <path 2618 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2619 + d="m 7571.2303,31071.223 582.9982,865.095" 2620 + id="path3414-9-30" 2621 + inkscape:connector-curvature="0" /> 2622 + <path 2623 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2624 + d="m 2811.8153,33284.138 -582.9982,865.094" 2625 + id="path3414-8-4" 2626 + inkscape:connector-curvature="0" /> 2627 + <path 2628 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2629 + d="m 9556.862,33284.401 582.999,865.093" 2630 + id="path3414-9-4-4" 2631 + inkscape:connector-curvature="0" /> 2632 + <path 2633 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2634 + d="m 4228.3118,33284.138 0,846.288" 2635 + id="path3414-8-3-4" 2636 + inkscape:connector-curvature="0" 2637 + sodipodi:nodetypes="cc" /> 2638 + <path 2639 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2640 + d="m 8105.287,33310.734 0,846.288" 2641 + id="path3414-8-3-6-4" 2642 + inkscape:connector-curvature="0" 2643 + sodipodi:nodetypes="cc" /> 2644 + <text 2645 + xml:space="preserve" 2646 + x="6659.5469" 2647 + y="34833.551" 2648 + font-style="normal" 2649 + font-weight="bold" 2650 + font-size="192" 2651 + id="text202-62" 2652 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text> 2653 + <path 2654 + sodipodi:nodetypes="ccc" 2655 + inkscape:connector-curvature="0" 2656 + id="path3134-9-0-3-1-8" 2657 + d="m 11248.729,43927.515 3383.749,-0.843 7.995,1860.989" 2658 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 2659 + <path 2660 + sodipodi:nodetypes="ccc" 2661 + inkscape:connector-curvature="0" 2662 + id="path3134-9-0-3-1-3" 2663 + d="m 14641.723,41609.377 -2.828,1541.346 -3303.353,-1.688" 2664 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 2665 + <path 2666 + sodipodi:nodetypes="ccc" 2667 + inkscape:connector-curvature="0" 2668 + id="path3134-9-0-3-1-6" 2669 + d="m 816.24399,43920.114 -3929.12029,17.964 20.2152,2632.051" 2670 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 2671 + <path 2672 + sodipodi:nodetypes="ccc" 2673 + inkscape:connector-curvature="0" 2674 + id="path3134-9-0-3-1-3-2" 2675 + d="m -3122.1199,40492.4 12.2312,2669.729 3867.53038,7.717" 2676 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 2677 + <path 2678 + sodipodi:nodetypes="cccccccccccccccccccccccccccc" 2679 + inkscape:connector-curvature="0" 2680 + id="path3134-9-0-3-4" 2681 + d="m 6180.0812,36613.063 -2.827,638.638 -5325.0381,35.926 -9.78989,7279.202 2659.62569,0 0,-2260.682 -1196.8316,0 0,-1861.738 1462.7942,0 0,2127.7 3723.476,0 0,1861.738 2035.5457,-11.246 -12.28,-1788.219 1191.3338,1.616 15.928,1289.854 520.347,0.202 m 0,0 -15.641,-1570.133 -2629.7318,-18.604 3.165,-2124.92 -2305.4983,-7.354 0,-2287.279 5319.2511,0 0,7180.99 m 0,0 0,19229.094 -4441.5746,0" 2682 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 2683 + <rect 2684 + ry="0" 2685 + id="rect118-7" 2686 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 2687 + rx="0" 2688 + height="8254.9336" 2689 + width="14128.912" 2690 + y="37009.492" 2691 + x="-719.34235" /> 2692 + <text 2693 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2694 + id="text202-7-24" 2695 + font-size="192" 2696 + font-weight="bold" 2697 + font-style="normal" 2698 + y="37286.184" 2699 + x="-573.74298" 2700 + xml:space="preserve">rcu_gp_fqs()</text> 2701 + <g 2702 + style="fill:none;stroke-width:0.025in" 2703 + transform="translate(1629.528,25916.616)" 2704 + id="g3147-0"> 2705 + <g 2706 + style="fill:none;stroke-width:0.025in" 2707 + id="g3107-6-62" 2708 + transform="translate(3054.6101,13760.052)"> 2709 + <rect 2710 + id="rect112-7-9" 2711 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2712 + rx="0" 2713 + height="1370.8721" 2714 + width="2809.1992" 2715 + y="949.37109" 2716 + x="2084.55" /> 2717 + <rect 2718 + id="rect112-3-5-90" 2719 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2720 + rx="0" 2721 + height="1294.8468" 2722 + width="2809.1992" 2723 + y="1025.3964" 2724 + x="2084.55" /> 2725 + </g> 2726 + <text 2727 + xml:space="preserve" 2728 + x="5250.5327" 2729 + y="15512.733" 2730 + font-style="normal" 2731 + font-weight="bold" 2732 + font-size="192" 2733 + id="text202-35-8" 2734 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 2735 + </g> 2736 + <g 2737 + style="fill:none;stroke-width:0.025in" 2738 + transform="translate(2480.6088,25880.249)" 2739 + id="g3153-1"> 2740 + <g 2741 + style="fill:none;stroke-width:0.025in" 2742 + id="g3107-6-9-31" 2743 + transform="translate(5213.0126,16008.808)"> 2744 + <rect 2745 + id="rect112-7-1-10" 2746 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2747 + rx="0" 2748 + height="1370.8721" 2749 + width="2809.1992" 2750 + y="949.37109" 2751 + x="2084.55" /> 2752 + <rect 2753 + id="rect112-3-5-2-34" 2754 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2755 + rx="0" 2756 + height="1294.8468" 2757 + width="2809.1992" 2758 + y="1025.3964" 2759 + x="2084.55" /> 2760 + </g> 2761 + <text 2762 + xml:space="preserve" 2763 + x="9717.4141" 2764 + y="18269.314" 2765 + font-style="normal" 2766 + font-weight="bold" 2767 + font-size="192" 2768 + id="text202-7-5-1-2-3-7-35-7-03" 2769 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2770 + sodipodi:linespacing="125%"><tspan 2771 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2772 + id="tspan3104-6-5-6-0-91">Leaf</tspan></text> 2773 + </g> 2774 + <g 2775 + transform="translate(-2342.9531,25916.616)" 2776 + id="g3147-3-9" 2777 + style="fill:none;stroke-width:0.025in"> 2778 + <g 2779 + style="fill:none;stroke-width:0.025in" 2780 + id="g3107-6-6-6" 2781 + transform="translate(3054.6101,13760.052)"> 2782 + <rect 2783 + id="rect112-7-0-9" 2784 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2785 + rx="0" 2786 + height="1370.8721" 2787 + width="2809.1992" 2788 + y="949.37109" 2789 + x="2084.55" /> 2790 + <rect 2791 + id="rect112-3-5-6-3" 2792 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2793 + rx="0" 2794 + height="1294.8468" 2795 + width="2809.1992" 2796 + y="1025.3964" 2797 + x="2084.55" /> 2798 + </g> 2799 + <text 2800 + xml:space="preserve" 2801 + x="5284.6885" 2802 + y="15500.379" 2803 + font-style="normal" 2804 + font-weight="bold" 2805 + font-size="192" 2806 + id="text202-6-3" 2807 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 2808 + </g> 2809 + <g 2810 + transform="translate(-852.13285,25880.249)" 2811 + id="g3153-2-8" 2812 + style="fill:none;stroke-width:0.025in"> 2813 + <g 2814 + style="fill:none;stroke-width:0.025in" 2815 + id="g3107-6-9-6-0" 2816 + transform="translate(5213.0126,16008.808)"> 2817 + <rect 2818 + id="rect112-7-1-1-56" 2819 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2820 + rx="0" 2821 + height="1370.8721" 2822 + width="2809.1992" 2823 + y="949.37109" 2824 + x="2084.55" /> 2825 + <rect 2826 + id="rect112-3-5-2-8-6" 2827 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2828 + rx="0" 2829 + height="1294.8468" 2830 + width="2809.1992" 2831 + y="1025.3964" 2832 + x="2084.55" /> 2833 + </g> 2834 + <text 2835 + xml:space="preserve" 2836 + x="9717.4141" 2837 + y="18269.314" 2838 + font-style="normal" 2839 + font-weight="bold" 2840 + font-size="192" 2841 + id="text202-7-5-1-2-3-7-35-7-7-4" 2842 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2843 + sodipodi:linespacing="125%"><tspan 2844 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2845 + id="tspan3104-6-5-6-0-9-0">Leaf</tspan></text> 2846 + </g> 2847 + <g 2848 + transform="translate(-4184.8743,25880.249)" 2849 + id="g3153-20-04" 2850 + style="fill:none;stroke-width:0.025in"> 2851 + <g 2852 + style="fill:none;stroke-width:0.025in" 2853 + id="g3107-6-9-2-62" 2854 + transform="translate(5213.0126,16008.808)"> 2855 + <rect 2856 + id="rect112-7-1-3-67" 2857 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2858 + rx="0" 2859 + height="1370.8721" 2860 + width="2809.1992" 2861 + y="949.37109" 2862 + x="2084.55" /> 2863 + <rect 2864 + id="rect112-3-5-2-7-5" 2865 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2866 + rx="0" 2867 + height="1294.8468" 2868 + width="2809.1992" 2869 + y="1025.3964" 2870 + x="2084.55" /> 2871 + </g> 2872 + <text 2873 + xml:space="preserve" 2874 + x="9717.4141" 2875 + y="18269.314" 2876 + font-style="normal" 2877 + font-weight="bold" 2878 + font-size="192" 2879 + id="text202-7-5-1-2-3-7-35-7-5-6" 2880 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2881 + sodipodi:linespacing="125%"><tspan 2882 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2883 + id="tspan3104-6-5-6-0-92-9">Leaf</tspan></text> 2884 + </g> 2885 + <g 2886 + transform="translate(-7517.6112,25880.249)" 2887 + id="g3153-28-8" 2888 + style="fill:none;stroke-width:0.025in"> 2889 + <g 2890 + style="fill:none;stroke-width:0.025in" 2891 + id="g3107-6-9-9-7" 2892 + transform="translate(5213.0126,16008.808)"> 2893 + <rect 2894 + id="rect112-7-1-7-2" 2895 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2896 + rx="0" 2897 + height="1370.8721" 2898 + width="2809.1992" 2899 + y="949.37109" 2900 + x="2084.55" /> 2901 + <rect 2902 + id="rect112-3-5-2-3-82" 2903 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 2904 + rx="0" 2905 + height="1294.8468" 2906 + width="2809.1992" 2907 + y="1025.3964" 2908 + x="2084.55" /> 2909 + </g> 2910 + <text 2911 + xml:space="preserve" 2912 + x="9717.4141" 2913 + y="18269.314" 2914 + font-style="normal" 2915 + font-weight="bold" 2916 + font-size="192" 2917 + id="text202-7-5-1-2-3-7-35-7-6-9" 2918 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2919 + sodipodi:linespacing="125%"><tspan 2920 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2921 + id="tspan3104-6-5-6-0-1-9">Leaf</tspan></text> 2922 + <text 2923 + xml:space="preserve" 2924 + x="7428.2939" 2925 + y="17707.271" 2926 + font-style="normal" 2927 + font-weight="bold" 2928 + font-size="192" 2929 + id="text202-75-6" 2930 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 2931 + </g> 2932 + <path 2933 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2934 + d="m 4773.3421,39762.585 -582.9986,865.094" 2935 + id="path3414-02" 2936 + inkscape:connector-curvature="0" /> 2937 + <path 2938 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2939 + d="m 7582.1232,39762.847 582.999,865.094" 2940 + id="path3414-9-7" 2941 + inkscape:connector-curvature="0" /> 2942 + <path 2943 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2944 + d="m 2822.7083,41975.762 -582.9982,865.094" 2945 + id="path3414-8-6" 2946 + inkscape:connector-curvature="0" /> 2947 + <path 2948 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2949 + d="m 9567.7542,41976.024 583.0018,865.094" 2950 + id="path3414-9-4-1" 2951 + inkscape:connector-curvature="0" /> 2952 + <path 2953 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2954 + d="m 4239.2048,41975.762 0,846.288" 2955 + id="path3414-8-3-3" 2956 + inkscape:connector-curvature="0" 2957 + sodipodi:nodetypes="cc" /> 2958 + <path 2959 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 2960 + d="m 8116.1802,42002.358 0,846.288" 2961 + id="path3414-8-3-6-2" 2962 + inkscape:connector-curvature="0" 2963 + sodipodi:nodetypes="cc" /> 2964 + <rect 2965 + ry="0" 2966 + id="rect118-1-1" 2967 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057924, 60.00115835;stroke-dashoffset:0" 2968 + rx="0" 2969 + height="7164.1621" 2970 + width="13301.43" 2971 + y="37551.07" 2972 + x="-474.37598" /> 2973 + <text 2974 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2975 + id="text202-7-2-5" 2976 + font-size="192" 2977 + font-weight="bold" 2978 + font-style="normal" 2979 + y="37802.488" 2980 + x="-342.01831" 2981 + xml:space="preserve" 2982 + sodipodi:linespacing="125%">force_qs_rnp()<tspan 2983 + style="font-size:192px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 2984 + id="tspan3307-9" /></text> 2985 + <text 2986 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 2987 + id="text202-7-2-7-9" 2988 + font-size="192" 2989 + font-weight="bold" 2990 + font-style="normal" 2991 + y="38114.047" 2992 + x="-334.33856" 2993 + xml:space="preserve">dyntick_save_progress_counter()</text> 2994 + <g 2995 + style="fill:none;stroke-width:0.025in" 2996 + transform="translate(1749.9916,25880.249)" 2997 + id="g3188-1"> 2998 + <g 2999 + id="g3107-4" 3000 + transform="translate(947.90548,11584.029)"> 3001 + <rect 3002 + id="rect112-91" 3003 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3004 + rx="0" 3005 + height="1370.8721" 3006 + width="2809.1992" 3007 + y="949.37109" 3008 + x="2084.55" /> 3009 + <rect 3010 + id="rect112-3-0" 3011 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3012 + rx="0" 3013 + height="1294.8468" 3014 + width="2809.1992" 3015 + y="1025.3964" 3016 + x="2084.55" /> 3017 + </g> 3018 + <text 3019 + xml:space="preserve" 3020 + x="5452.3052" 3021 + y="13844.535" 3022 + font-style="normal" 3023 + font-weight="bold" 3024 + font-size="192" 3025 + id="text202-7-5-1-2-3-7-7" 3026 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3027 + sodipodi:linespacing="125%"><tspan 3028 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3029 + id="tspan3104-6-5-58">Root</tspan></text> 3030 + <text 3031 + xml:space="preserve" 3032 + x="3158.8521" 3033 + y="13313.027" 3034 + font-style="normal" 3035 + font-weight="bold" 3036 + font-size="192" 3037 + id="text202-70" 3038 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 3039 + </g> 3040 + <text 3041 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3042 + id="text202-7-2-7-2" 3043 + font-size="192" 3044 + font-weight="bold" 3045 + font-style="normal" 3046 + y="38425.035" 3047 + x="-337.79462" 3048 + xml:space="preserve">rcu_implicit_dynticks_qs()</text> 3049 + <text 3050 + xml:space="preserve" 3051 + x="9907.8887" 3052 + y="43568.723" 3053 + font-style="normal" 3054 + font-weight="bold" 3055 + font-size="192" 3056 + id="text202-62-4" 3057 + style="font-size:192.00001526px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 3058 + <g 3059 + id="g4504" 3060 + transform="translate(10024.106,24062.466)"> 3061 + <path 3062 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 3063 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 3064 + sodipodi:ry="39.550262" 3065 + sodipodi:rx="65.917107" 3066 + sodipodi:cy="345.54001" 3067 + sodipodi:cx="319.379" 3068 + id="path3089" 3069 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 3070 + sodipodi:type="arc" /> 3071 + <text 3072 + sodipodi:linespacing="125%" 3073 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3074 + id="text202-7-5-1-2-80" 3075 + font-size="192" 3076 + font-weight="bold" 3077 + font-style="normal" 3078 + y="16835.086" 3079 + x="4409.043" 3080 + xml:space="preserve"><tspan 3081 + id="tspan3104-4" 3082 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 3083 + <text 3084 + sodipodi:linespacing="125%" 3085 + id="text3110-29" 3086 + y="17055.541" 3087 + x="4579.373" 3088 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3089 + xml:space="preserve"><tspan 3090 + y="17055.541" 3091 + x="4579.373" 3092 + id="tspan3112-61" 3093 + sodipodi:role="line">read-side</tspan></text> 3094 + <text 3095 + sodipodi:linespacing="125%" 3096 + id="text3114-04" 3097 + y="17297.08" 3098 + x="4584.8276" 3099 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3100 + xml:space="preserve"><tspan 3101 + y="17297.08" 3102 + x="4584.8276" 3103 + id="tspan3116-22" 3104 + sodipodi:role="line">critical section</tspan></text> 3105 + </g> 3106 + <g 3107 + id="g3148-9-9" 3108 + transform="translate(9995.8972,46544.783)"> 3109 + <rect 3110 + x="3592.3828" 3111 + y="-4715.7246" 3112 + width="3164.783" 3113 + height="769.99048" 3114 + rx="0" 3115 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 3116 + id="rect118-3-5-1-3" 3117 + ry="0" /> 3118 + <text 3119 + xml:space="preserve" 3120 + x="3745.7725" 3121 + y="-4418.6582" 3122 + font-style="normal" 3123 + font-weight="bold" 3124 + font-size="192" 3125 + id="text202-7-5-3-27-6" 3126 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_dynticks_eqs_enter()</text> 3127 + <text 3128 + xml:space="preserve" 3129 + x="3745.7725" 3130 + y="-4165.7954" 3131 + font-style="normal" 3132 + font-weight="bold" 3133 + font-size="192" 3134 + id="text202-7-5-3-27-0-0" 3135 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">atomic_add_return()</text> 3136 + </g> 3137 + <g 3138 + id="g3148-9-9-2" 3139 + transform="translate(9995.8972,49205.888)"> 3140 + <rect 3141 + x="3592.3828" 3142 + y="-4715.7246" 3143 + width="3164.783" 3144 + height="769.99048" 3145 + rx="0" 3146 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 3147 + id="rect118-3-5-1-3-6" 3148 + ry="0" /> 3149 + <text 3150 + xml:space="preserve" 3151 + x="3745.7725" 3152 + y="-4418.6582" 3153 + font-style="normal" 3154 + font-weight="bold" 3155 + font-size="192" 3156 + id="text202-7-5-3-27-6-1" 3157 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_dynticks_eqs_exit()</text> 3158 + <text 3159 + xml:space="preserve" 3160 + x="3745.7725" 3161 + y="-4165.7954" 3162 + font-style="normal" 3163 + font-weight="bold" 3164 + font-size="192" 3165 + id="text202-7-5-3-27-0-0-8" 3166 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">atomic_add_return()</text> 3167 + </g> 3168 + <g 3169 + id="g4504-7" 3170 + transform="translate(10042.913,29290.642)"> 3171 + <path 3172 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 3173 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 3174 + sodipodi:ry="39.550262" 3175 + sodipodi:rx="65.917107" 3176 + sodipodi:cy="345.54001" 3177 + sodipodi:cx="319.379" 3178 + id="path3084-9" 3179 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 3180 + sodipodi:type="arc" /> 3181 + <text 3182 + sodipodi:linespacing="125%" 3183 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3184 + id="text202-7-5-1-2-2" 3185 + font-size="192" 3186 + font-weight="bold" 3187 + font-style="normal" 3188 + y="16835.086" 3189 + x="4409.043" 3190 + xml:space="preserve"><tspan 3191 + id="tspan3104-0" 3192 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 3193 + <text 3194 + sodipodi:linespacing="125%" 3195 + id="text3110-2" 3196 + y="17055.541" 3197 + x="4579.373" 3198 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3199 + xml:space="preserve"><tspan 3200 + y="17055.541" 3201 + x="4579.373" 3202 + id="tspan3112-3-2" 3203 + sodipodi:role="line">read-side</tspan></text> 3204 + <text 3205 + sodipodi:linespacing="125%" 3206 + id="text3114-7" 3207 + y="17297.08" 3208 + x="4584.8276" 3209 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3210 + xml:space="preserve"><tspan 3211 + y="17297.08" 3212 + x="4584.8276" 3213 + id="tspan3116-5" 3214 + sodipodi:role="line">critical section</tspan></text> 3215 + </g> 3216 + <g 3217 + id="g4504-6" 3218 + transform="translate(-7705.0623,22903.647)"> 3219 + <path 3220 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 3221 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 3222 + sodipodi:ry="39.550262" 3223 + sodipodi:rx="65.917107" 3224 + sodipodi:cy="345.54001" 3225 + sodipodi:cx="319.379" 3226 + id="path3084-1" 3227 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 3228 + sodipodi:type="arc" /> 3229 + <text 3230 + sodipodi:linespacing="125%" 3231 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3232 + id="text202-7-5-1-2-8" 3233 + font-size="192" 3234 + font-weight="bold" 3235 + font-style="normal" 3236 + y="16835.086" 3237 + x="4409.043" 3238 + xml:space="preserve"><tspan 3239 + id="tspan3104-7-0" 3240 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 3241 + <text 3242 + sodipodi:linespacing="125%" 3243 + id="text3110-9" 3244 + y="17055.541" 3245 + x="4579.373" 3246 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3247 + xml:space="preserve"><tspan 3248 + y="17055.541" 3249 + x="4579.373" 3250 + id="tspan3112-2" 3251 + sodipodi:role="line">read-side</tspan></text> 3252 + <text 3253 + sodipodi:linespacing="125%" 3254 + id="text3114-0" 3255 + y="17297.08" 3256 + x="4584.8276" 3257 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3258 + xml:space="preserve"><tspan 3259 + y="17297.08" 3260 + x="4584.8276" 3261 + id="tspan3116-2" 3262 + sodipodi:role="line">critical section</tspan></text> 3263 + </g> 3264 + <g 3265 + id="g3148-9-9-3" 3266 + transform="translate(-8306.8632,45879.159)"> 3267 + <rect 3268 + x="3592.3828" 3269 + y="-4981.6865" 3270 + width="3728.9751" 3271 + height="2265.0989" 3272 + rx="0" 3273 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 3274 + id="rect118-3-5-1-3-7" 3275 + ry="0" /> 3276 + <text 3277 + xml:space="preserve" 3278 + x="3745.7725" 3279 + y="-4684.6201" 3280 + font-style="normal" 3281 + font-weight="bold" 3282 + font-size="192" 3283 + id="text202-7-5-3-27-6-5" 3284 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_report_dead()</text> 3285 + <text 3286 + xml:space="preserve" 3287 + x="3745.7725" 3288 + y="-4431.7573" 3289 + font-style="normal" 3290 + font-weight="bold" 3291 + font-size="192" 3292 + id="text202-7-5-3-27-0-0-9" 3293 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_cleanup_dying_idle_cpu()</text> 3294 + <g 3295 + transform="translate(1783.3183,-5255.3491)" 3296 + id="g3107-7-5" 3297 + style="fill:none;stroke-width:0.025in"> 3298 + <rect 3299 + x="2084.55" 3300 + y="949.37109" 3301 + width="2809.1992" 3302 + height="1370.8721" 3303 + rx="0" 3304 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3305 + id="rect112-5-3" /> 3306 + <rect 3307 + x="2084.55" 3308 + y="1025.3964" 3309 + width="2809.1992" 3310 + height="1294.8468" 3311 + rx="0" 3312 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3313 + id="rect112-3-3-5" /> 3314 + </g> 3315 + <text 3316 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3317 + id="text202-6-6-2-6" 3318 + font-size="192" 3319 + font-weight="bold" 3320 + font-style="normal" 3321 + y="-3526.4448" 3322 + x="4241.8574" 3323 + xml:space="preserve">-&gt;qsmaskinitnext</text> 3324 + <text 3325 + sodipodi:linespacing="125%" 3326 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3327 + id="text202-7-5-1-2-3-2" 3328 + font-size="192" 3329 + font-weight="bold" 3330 + font-style="normal" 3331 + y="-2987.4167" 3332 + x="6305.1484" 3333 + xml:space="preserve"><tspan 3334 + id="tspan3104-6-9" 3335 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 3336 + </g> 3337 + <g 3338 + id="g4504-7-2" 3339 + transform="translate(-7686.2563,30073.332)"> 3340 + <path 3341 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 3342 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 3343 + sodipodi:ry="39.550262" 3344 + sodipodi:rx="65.917107" 3345 + sodipodi:cy="345.54001" 3346 + sodipodi:cx="319.379" 3347 + id="path3084-9-2" 3348 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 3349 + sodipodi:type="arc" /> 3350 + <text 3351 + sodipodi:linespacing="125%" 3352 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3353 + id="text202-7-5-1-2-2-8" 3354 + font-size="192" 3355 + font-weight="bold" 3356 + font-style="normal" 3357 + y="16835.086" 3358 + x="4409.043" 3359 + xml:space="preserve"><tspan 3360 + id="tspan3104-0-9" 3361 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 3362 + <text 3363 + sodipodi:linespacing="125%" 3364 + id="text3110-2-7" 3365 + y="17055.541" 3366 + x="4579.373" 3367 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3368 + xml:space="preserve"><tspan 3369 + y="17055.541" 3370 + x="4579.373" 3371 + id="tspan3112-3-3" 3372 + sodipodi:role="line">read-side</tspan></text> 3373 + <text 3374 + sodipodi:linespacing="125%" 3375 + id="text3114-7-6" 3376 + y="17297.08" 3377 + x="4584.8276" 3378 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3379 + xml:space="preserve"><tspan 3380 + y="17297.08" 3381 + x="4584.8276" 3382 + id="tspan3116-5-1" 3383 + sodipodi:role="line">critical section</tspan></text> 3384 + </g> 3385 + <g 3386 + id="g3206" 3387 + transform="translate(-752.44253,40565.329)"> 3388 + <rect 3389 + ry="0" 3390 + id="rect118-3-5-1-3-1" 3391 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00058007, 60.00116001;stroke-dashoffset:0" 3392 + rx="0" 3393 + height="2265.0989" 3394 + width="3728.9751" 3395 + y="3382.2036" 3396 + x="-3958.3845" /> 3397 + <text 3398 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3399 + id="text202-7-5-3-27-6-2" 3400 + font-size="192" 3401 + font-weight="bold" 3402 + font-style="normal" 3403 + y="3679.27" 3404 + x="-3804.9949" 3405 + xml:space="preserve">rcu_cpu_starting()</text> 3406 + <g 3407 + style="fill:none;stroke-width:0.025in" 3408 + id="g3107-7-5-0" 3409 + transform="translate(-5767.4491,3108.5424)"> 3410 + <rect 3411 + id="rect112-5-3-9" 3412 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3413 + rx="0" 3414 + height="1370.8721" 3415 + width="2809.1992" 3416 + y="949.37109" 3417 + x="2084.55" /> 3418 + <rect 3419 + id="rect112-3-3-5-3" 3420 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3421 + rx="0" 3422 + height="1294.8468" 3423 + width="2809.1992" 3424 + y="1025.3964" 3425 + x="2084.55" /> 3426 + </g> 3427 + <text 3428 + xml:space="preserve" 3429 + x="-3308.9099" 3430 + y="4837.4453" 3431 + font-style="normal" 3432 + font-weight="bold" 3433 + font-size="192" 3434 + id="text202-6-6-2-6-6" 3435 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 3436 + <text 3437 + xml:space="preserve" 3438 + x="-1245.6189" 3439 + y="5376.4731" 3440 + font-style="normal" 3441 + font-weight="bold" 3442 + font-size="192" 3443 + id="text202-7-5-1-2-3-2-0" 3444 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3445 + sodipodi:linespacing="125%"><tspan 3446 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3447 + id="tspan3104-6-9-6">Leaf</tspan></text> 3448 + </g> 3449 + <path 3450 + sodipodi:nodetypes="cc" 3451 + inkscape:connector-curvature="0" 3452 + id="path3134-9-0-3-1-3-6" 3453 + d="m 10723.215,43926.861 467.335,8.625" 3454 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 3455 + <path 3456 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-8)" 3457 + d="m 4431.0572,60276.11 16.472,2346.582" 3458 + id="path3134-9-0-3-1-9-9" 3459 + inkscape:connector-curvature="0" 3460 + sodipodi:nodetypes="cc" /> 3461 + <g 3462 + style="fill:none;stroke-width:0.025in" 3463 + transform="translate(-59.697399,41012.242)" 3464 + id="g3188-83"> 3465 + <text 3466 + xml:space="preserve" 3467 + x="3172.5554" 3468 + y="13255.592" 3469 + font-style="normal" 3470 + font-weight="bold" 3471 + font-size="192" 3472 + id="text202-80" 3473 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 3474 + <g 3475 + id="g3107-40" 3476 + transform="translate(947.90548,11584.029)"> 3477 + <rect 3478 + id="rect112-919" 3479 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3480 + rx="0" 3481 + height="1370.8721" 3482 + width="2809.1992" 3483 + y="949.37109" 3484 + x="2084.55" /> 3485 + <rect 3486 + id="rect112-3-6" 3487 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3488 + rx="0" 3489 + height="1294.8468" 3490 + width="2809.1992" 3491 + y="1025.3964" 3492 + x="2084.55" /> 3493 + </g> 3494 + <text 3495 + xml:space="preserve" 3496 + x="5452.3052" 3497 + y="13844.535" 3498 + font-style="normal" 3499 + font-weight="bold" 3500 + font-size="192" 3501 + id="text202-7-5-1-2-3-7-25" 3502 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3503 + sodipodi:linespacing="125%"><tspan 3504 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3505 + id="tspan3104-6-5-4">Root</tspan></text> 3506 + </g> 3507 + <rect 3508 + ry="0" 3509 + id="rect118-4" 3510 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057845, 60.00115689;stroke-dashoffset:0" 3511 + rx="0" 3512 + height="7164.1641" 3513 + width="13639.945" 3514 + y="52743.297" 3515 + x="-2453.8081" /> 3516 + <text 3517 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3518 + id="text202-7-99" 3519 + font-size="192" 3520 + font-weight="bold" 3521 + font-style="normal" 3522 + y="52950.113" 3523 + x="-2356.8381" 3524 + xml:space="preserve">rcu_report_rnp()</text> 3525 + <g 3526 + style="fill:none;stroke-width:0.025in" 3527 + transform="translate(-180.16099,41048.609)" 3528 + id="g3147-36"> 3529 + <g 3530 + style="fill:none;stroke-width:0.025in" 3531 + id="g3107-6-0" 3532 + transform="translate(3054.6101,13760.052)"> 3533 + <rect 3534 + id="rect112-7-50" 3535 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3536 + rx="0" 3537 + height="1370.8721" 3538 + width="2809.1992" 3539 + y="949.37109" 3540 + x="2084.55" /> 3541 + <rect 3542 + id="rect112-3-5-29" 3543 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3544 + rx="0" 3545 + height="1294.8468" 3546 + width="2809.1992" 3547 + y="1025.3964" 3548 + x="2084.55" /> 3549 + </g> 3550 + </g> 3551 + <g 3552 + style="fill:none;stroke-width:0.025in" 3553 + transform="translate(670.91971,41012.242)" 3554 + id="g3153-4"> 3555 + <g 3556 + style="fill:none;stroke-width:0.025in" 3557 + id="g3107-6-9-35" 3558 + transform="translate(5213.0126,16008.808)"> 3559 + <rect 3560 + id="rect112-7-1-17" 3561 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3562 + rx="0" 3563 + height="1370.8721" 3564 + width="2809.1992" 3565 + y="949.37109" 3566 + x="2084.55" /> 3567 + <rect 3568 + id="rect112-3-5-2-4" 3569 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3570 + rx="0" 3571 + height="1294.8468" 3572 + width="2809.1992" 3573 + y="1025.3964" 3574 + x="2084.55" /> 3575 + </g> 3576 + <text 3577 + xml:space="preserve" 3578 + x="9717.4141" 3579 + y="18269.314" 3580 + font-style="normal" 3581 + font-weight="bold" 3582 + font-size="192" 3583 + id="text202-7-5-1-2-3-7-35-7-3" 3584 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3585 + sodipodi:linespacing="125%"><tspan 3586 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3587 + id="tspan3104-6-5-6-0-14">Leaf</tspan></text> 3588 + </g> 3589 + <g 3590 + transform="translate(-4152.6419,41048.609)" 3591 + id="g3147-3-6" 3592 + style="fill:none;stroke-width:0.025in"> 3593 + <g 3594 + style="fill:none;stroke-width:0.025in" 3595 + id="g3107-6-6-9" 3596 + transform="translate(3054.6101,13760.052)"> 3597 + <rect 3598 + id="rect112-7-0-4" 3599 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3600 + rx="0" 3601 + height="1370.8721" 3602 + width="2809.1992" 3603 + y="949.37109" 3604 + x="2084.55" /> 3605 + <rect 3606 + id="rect112-3-5-6-2" 3607 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3608 + rx="0" 3609 + height="1294.8468" 3610 + width="2809.1992" 3611 + y="1025.3964" 3612 + x="2084.55" /> 3613 + </g> 3614 + <text 3615 + xml:space="preserve" 3616 + x="5284.9155" 3617 + y="15386.685" 3618 + font-style="normal" 3619 + font-weight="bold" 3620 + font-size="192" 3621 + id="text202-3-2" 3622 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 3623 + </g> 3624 + <g 3625 + transform="translate(-2661.8217,41012.242)" 3626 + id="g3153-2-6" 3627 + style="fill:none;stroke-width:0.025in"> 3628 + <g 3629 + style="fill:none;stroke-width:0.025in" 3630 + id="g3107-6-9-6-4" 3631 + transform="translate(5213.0126,16008.808)"> 3632 + <rect 3633 + id="rect112-7-1-1-1" 3634 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3635 + rx="0" 3636 + height="1370.8721" 3637 + width="2809.1992" 3638 + y="949.37109" 3639 + x="2084.55" /> 3640 + <rect 3641 + id="rect112-3-5-2-8-2" 3642 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3643 + rx="0" 3644 + height="1294.8468" 3645 + width="2809.1992" 3646 + y="1025.3964" 3647 + x="2084.55" /> 3648 + </g> 3649 + <text 3650 + xml:space="preserve" 3651 + x="9717.4141" 3652 + y="18269.314" 3653 + font-style="normal" 3654 + font-weight="bold" 3655 + font-size="192" 3656 + id="text202-7-5-1-2-3-7-35-7-7-88" 3657 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3658 + sodipodi:linespacing="125%"><tspan 3659 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3660 + id="tspan3104-6-5-6-0-9-9">Leaf</tspan></text> 3661 + </g> 3662 + <g 3663 + transform="translate(-5994.5632,41012.242)" 3664 + id="g3153-20-2" 3665 + style="fill:none;stroke-width:0.025in"> 3666 + <g 3667 + style="fill:none;stroke-width:0.025in" 3668 + id="g3107-6-9-2-8" 3669 + transform="translate(5213.0126,16008.808)"> 3670 + <rect 3671 + id="rect112-7-1-3-8" 3672 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3673 + rx="0" 3674 + height="1370.8721" 3675 + width="2809.1992" 3676 + y="949.37109" 3677 + x="2084.55" /> 3678 + <rect 3679 + id="rect112-3-5-2-7-8" 3680 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3681 + rx="0" 3682 + height="1294.8468" 3683 + width="2809.1992" 3684 + y="1025.3964" 3685 + x="2084.55" /> 3686 + </g> 3687 + <text 3688 + xml:space="preserve" 3689 + x="9717.4141" 3690 + y="18269.314" 3691 + font-style="normal" 3692 + font-weight="bold" 3693 + font-size="192" 3694 + id="text202-7-5-1-2-3-7-35-7-5-68" 3695 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3696 + sodipodi:linespacing="125%"><tspan 3697 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3698 + id="tspan3104-6-5-6-0-92-3">Leaf</tspan></text> 3699 + </g> 3700 + <g 3701 + transform="translate(-9327.3041,41012.242)" 3702 + id="g3153-28-83" 3703 + style="fill:none;stroke-width:0.025in"> 3704 + <g 3705 + style="fill:none;stroke-width:0.025in" 3706 + id="g3107-6-9-9-3" 3707 + transform="translate(5213.0126,16008.808)"> 3708 + <rect 3709 + id="rect112-7-1-7-3" 3710 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3711 + rx="0" 3712 + height="1370.8721" 3713 + width="2809.1992" 3714 + y="949.37109" 3715 + x="2084.55" /> 3716 + <rect 3717 + id="rect112-3-5-2-3-80" 3718 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3719 + rx="0" 3720 + height="1294.8468" 3721 + width="2809.1992" 3722 + y="1025.3964" 3723 + x="2084.55" /> 3724 + </g> 3725 + <text 3726 + xml:space="preserve" 3727 + x="9717.4141" 3728 + y="18269.314" 3729 + font-style="normal" 3730 + font-weight="bold" 3731 + font-size="192" 3732 + id="text202-7-5-1-2-3-7-35-7-6-47" 3733 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3734 + sodipodi:linespacing="125%"><tspan 3735 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3736 + id="tspan3104-6-5-6-0-1-6">Leaf</tspan></text> 3737 + <text 3738 + xml:space="preserve" 3739 + x="7422.3945" 3740 + y="17661.012" 3741 + font-style="normal" 3742 + font-weight="bold" 3743 + font-size="192" 3744 + id="text202-67" 3745 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 3746 + </g> 3747 + <path 3748 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 3749 + d="m 2963.6526,54894.579 -582.9982,865.092" 3750 + id="path3414-89" 3751 + inkscape:connector-curvature="0" /> 3752 + <path 3753 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 3754 + d="m 5772.4344,54894.841 582.9982,865.092" 3755 + id="path3414-9-0" 3756 + inkscape:connector-curvature="0" /> 3757 + <path 3758 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 3759 + d="m 1013.0193,57107.754 -582.99819,865.094" 3760 + id="path3414-8-68" 3761 + inkscape:connector-curvature="0" /> 3762 + <path 3763 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 3764 + d="m 7758.0666,57108.016 583,865.094" 3765 + id="path3414-9-4-79" 3766 + inkscape:connector-curvature="0" /> 3767 + <path 3768 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 3769 + d="m 2429.5159,57107.754 0,846.288" 3770 + id="path3414-8-3-0" 3771 + inkscape:connector-curvature="0" 3772 + sodipodi:nodetypes="cc" /> 3773 + <path 3774 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 3775 + d="m 6306.4911,57134.35 0,846.288" 3776 + id="path3414-8-3-6-3" 3777 + inkscape:connector-curvature="0" 3778 + sodipodi:nodetypes="cc" /> 3779 + <path 3780 + sodipodi:nodetypes="cccccccccccccccc" 3781 + inkscape:connector-curvature="0" 3782 + id="path3134-9-0-3-33" 3783 + d="m 4421.0737,51833.378 -2.8276,1315.669 -5343.84362,17.119 -2.8276,6561.745 2039.08002,17.963 -2.7043,-2144.141 -491.67069,-0.211 -2.7042,-1993.689 1487.71819,-4.728 -17.8001,1812.453 2017.2374,-7.643 4.9532,-2151.571 -1405.5263,11.162 -10.9191,-1891.146 1739.2165,-2.718 0.1197,7086.03" 3784 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 3785 + <path 3786 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 3787 + d="m 4432.9209,44194.481 8.8008,4666.688 -2616.9163,17.119 15.9788,1446.406 2603.2718,-0.843 -29.6181,2086.665" 3788 + id="path3134-9-0-3-1-7" 3789 + inkscape:connector-curvature="0" 3790 + sodipodi:nodetypes="cccccc" /> 3791 + <path 3792 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 3793 + d="m 4423.9777,48861.171 2616.9159,17.119 -15.979,1465.213 -2584.4649,-19.65" 3794 + id="path3134-9-0-3-1-9" 3795 + inkscape:connector-curvature="0" 3796 + sodipodi:nodetypes="cccc" /> 3797 + <g 3798 + transform="translate(-1706.1312,54634.242)" 3799 + id="g3115"> 3800 + <rect 3801 + x="4485.6865" 3802 + y="-8571.0352" 3803 + width="3296.428" 3804 + height="2199.2754" 3805 + rx="0" 3806 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057923, 60.00115859;stroke-dashoffset:0" 3807 + id="rect118-3-3" 3808 + ry="0" /> 3809 + <g 3810 + style="fill:none;stroke-width:0.025in" 3811 + id="g3107-7-2" 3812 + transform="translate(2656.673,-8952.2968)"> 3813 + <rect 3814 + id="rect112-5-6" 3815 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3816 + rx="0" 3817 + height="1370.8721" 3818 + width="2809.1992" 3819 + y="949.37109" 3820 + x="2084.55" /> 3821 + <rect 3822 + id="rect112-3-3-52" 3823 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 3824 + rx="0" 3825 + height="1294.8468" 3826 + width="2809.1992" 3827 + y="1025.3964" 3828 + x="2084.55" /> 3829 + </g> 3830 + <text 3831 + xml:space="preserve" 3832 + x="4714.3018" 3833 + y="-8349.1943" 3834 + font-style="normal" 3835 + font-weight="bold" 3836 + font-size="192" 3837 + id="text202-7-5-6" 3838 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">note_gp_changes()</text> 3839 + <text 3840 + xml:space="preserve" 3841 + x="5014.2954" 3842 + y="-7170.978" 3843 + font-style="normal" 3844 + font-weight="bold" 3845 + font-size="192" 3846 + id="text202-6-6-5" 3847 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rdp-&gt;gpnum</text> 3848 + <text 3849 + xml:space="preserve" 3850 + x="5035.4155" 3851 + y="-7436.1636" 3852 + font-style="normal" 3853 + font-weight="bold" 3854 + font-size="192" 3855 + id="text202-6-6-2-8" 3856 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">__note_gp_changes()</text> 3857 + <text 3858 + xml:space="preserve" 3859 + x="7162.7471" 3860 + y="-6692.6006" 3861 + font-style="normal" 3862 + font-weight="bold" 3863 + font-size="192" 3864 + id="text202-7-5-1-2-3-79" 3865 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3866 + sodipodi:linespacing="125%"><tspan 3867 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 3868 + id="tspan3104-6-6">Leaf</tspan></text> 3869 + </g> 3870 + <g 3871 + transform="translate(-3299.9731,54048.57)" 3872 + id="g3148"> 3873 + <rect 3874 + ry="0" 3875 + id="rect118-3-5" 3876 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 3877 + rx="0" 3878 + height="412.66794" 3879 + width="3240.0085" 3880 + y="-4640.499" 3881 + x="3517.1572" /> 3882 + <text 3883 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3884 + id="text202-7-5-3" 3885 + font-size="192" 3886 + font-weight="bold" 3887 + font-style="normal" 3888 + y="-4418.6582" 3889 + x="3745.7725" 3890 + xml:space="preserve">rcu_node_context_switch()</text> 3891 + </g> 3892 + <g 3893 + transform="translate(1881.1886,54048.57)" 3894 + id="g3148-5"> 3895 + <rect 3896 + ry="0" 3897 + id="rect118-3-5-6" 3898 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 3899 + rx="0" 3900 + height="412.66794" 3901 + width="3240.0085" 3902 + y="-4640.499" 3903 + x="3517.1572" /> 3904 + <text 3905 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3906 + id="text202-7-5-3-2" 3907 + font-size="192" 3908 + font-weight="bold" 3909 + font-style="normal" 3910 + y="-4418.6582" 3911 + x="3745.7725" 3912 + xml:space="preserve">rcu_check_callbacks()</text> 3913 + </g> 3914 + <g 3915 + transform="translate(-850.30204,55463.106)" 3916 + id="g3148-9"> 3917 + <rect 3918 + ry="0" 3919 + id="rect118-3-5-1" 3920 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 3921 + rx="0" 3922 + height="864.02148" 3923 + width="3540.9114" 3924 + y="-4640.499" 3925 + x="3517.1572" /> 3926 + <text 3927 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3928 + id="text202-7-5-3-27" 3929 + font-size="192" 3930 + font-weight="bold" 3931 + font-style="normal" 3932 + y="-4418.6582" 3933 + x="3745.7725" 3934 + xml:space="preserve">rcu_process_callbacks()</text> 3935 + <text 3936 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3937 + id="text202-7-5-3-27-0" 3938 + font-size="192" 3939 + font-weight="bold" 3940 + font-style="normal" 3941 + y="-4165.7954" 3942 + x="3745.7725" 3943 + xml:space="preserve">rcu_check_quiescent_state())</text> 3944 + <text 3945 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3946 + id="text202-7-5-3-27-0-9" 3947 + font-size="192" 3948 + font-weight="bold" 3949 + font-style="normal" 3950 + y="-3914.085" 3951 + x="3745.7725" 3952 + xml:space="preserve">rcu__report_qs_rdp())</text> 3953 + </g> 3954 + <g 3955 + id="g4504-3" 3956 + transform="translate(3886.2577,30763.697)"> 3957 + <path 3958 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 3959 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 3960 + sodipodi:ry="39.550262" 3961 + sodipodi:rx="65.917107" 3962 + sodipodi:cy="345.54001" 3963 + sodipodi:cx="319.379" 3964 + id="path3084-6-0" 3965 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 3966 + sodipodi:type="arc" /> 3967 + <text 3968 + sodipodi:linespacing="125%" 3969 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3970 + id="text202-7-5-1-2-7" 3971 + font-size="192" 3972 + font-weight="bold" 3973 + font-style="normal" 3974 + y="16835.086" 3975 + x="4409.043" 3976 + xml:space="preserve"><tspan 3977 + id="tspan3104-5" 3978 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 3979 + <text 3980 + sodipodi:linespacing="125%" 3981 + id="text3110-3" 3982 + y="17055.541" 3983 + x="4579.373" 3984 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3985 + xml:space="preserve"><tspan 3986 + y="17055.541" 3987 + x="4579.373" 3988 + id="tspan3112-5" 3989 + sodipodi:role="line">read-side</tspan></text> 3990 + <text 3991 + sodipodi:linespacing="125%" 3992 + id="text3114-6" 3993 + y="17297.08" 3994 + x="4584.8276" 3995 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 3996 + xml:space="preserve"><tspan 3997 + y="17297.08" 3998 + x="4584.8276" 3999 + id="tspan3116-2-4" 4000 + sodipodi:role="line">critical section</tspan></text> 4001 + </g> 4002 + <g 4003 + id="g4504-3-9-1" 4004 + transform="translate(3886.2577,34216.283)"> 4005 + <path 4006 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 4007 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 4008 + sodipodi:ry="39.550262" 4009 + sodipodi:rx="65.917107" 4010 + sodipodi:cy="345.54001" 4011 + sodipodi:cx="319.379" 4012 + id="path3084-6-1-0" 4013 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 4014 + sodipodi:type="arc" /> 4015 + <text 4016 + sodipodi:linespacing="125%" 4017 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4018 + id="text202-7-5-1-2-7-2-4" 4019 + font-size="192" 4020 + font-weight="bold" 4021 + font-style="normal" 4022 + y="16835.086" 4023 + x="4409.043" 4024 + xml:space="preserve"><tspan 4025 + id="tspan3104-5-7-8" 4026 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 4027 + <text 4028 + sodipodi:linespacing="125%" 4029 + id="text3110-3-0-7" 4030 + y="17055.541" 4031 + x="4579.373" 4032 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4033 + xml:space="preserve"><tspan 4034 + y="17055.541" 4035 + x="4579.373" 4036 + id="tspan3112-5-9-0" 4037 + sodipodi:role="line">read-side</tspan></text> 4038 + <text 4039 + sodipodi:linespacing="125%" 4040 + id="text3114-6-3-8" 4041 + y="17297.08" 4042 + x="4584.8276" 4043 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4044 + xml:space="preserve"><tspan 4045 + y="17297.08" 4046 + x="4584.8276" 4047 + id="tspan3116-2-6-6" 4048 + sodipodi:role="line">critical section</tspan></text> 4049 + </g> 4050 + <g 4051 + id="g4504-3-0" 4052 + transform="translate(-4075.0211,30763.697)"> 4053 + <path 4054 + transform="matrix(13.298129,0,0,13.298129,228.84485,12456.379)" 4055 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 4056 + sodipodi:ry="39.550262" 4057 + sodipodi:rx="65.917107" 4058 + sodipodi:cy="345.54001" 4059 + sodipodi:cx="319.379" 4060 + id="path3084-6-6" 4061 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 4062 + sodipodi:type="arc" /> 4063 + <text 4064 + sodipodi:linespacing="125%" 4065 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4066 + id="text202-7-5-1-2-7-26" 4067 + font-size="192" 4068 + font-weight="bold" 4069 + font-style="normal" 4070 + y="16835.086" 4071 + x="4409.043" 4072 + xml:space="preserve"><tspan 4073 + id="tspan3104-5-1" 4074 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 4075 + <text 4076 + sodipodi:linespacing="125%" 4077 + id="text3110-3-8" 4078 + y="17055.541" 4079 + x="4579.373" 4080 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4081 + xml:space="preserve"><tspan 4082 + y="17055.541" 4083 + x="4579.373" 4084 + id="tspan3112-5-7" 4085 + sodipodi:role="line">read-side</tspan></text> 4086 + <text 4087 + sodipodi:linespacing="125%" 4088 + id="text3114-6-9" 4089 + y="17297.08" 4090 + x="4584.8276" 4091 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4092 + xml:space="preserve"><tspan 4093 + y="17297.08" 4094 + x="4584.8276" 4095 + id="tspan3116-2-2" 4096 + sodipodi:role="line">critical section</tspan></text> 4097 + </g> 4098 + <g 4099 + id="g4504-3-9-0" 4100 + transform="translate(-4181.4064,34216.283)"> 4101 + <path 4102 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 4103 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 4104 + sodipodi:ry="39.550262" 4105 + sodipodi:rx="65.917107" 4106 + sodipodi:cy="345.54001" 4107 + sodipodi:cx="319.379" 4108 + id="path3084-6-1-2" 4109 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 4110 + sodipodi:type="arc" /> 4111 + <text 4112 + sodipodi:linespacing="125%" 4113 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4114 + id="text202-7-5-1-2-7-2-3" 4115 + font-size="192" 4116 + font-weight="bold" 4117 + font-style="normal" 4118 + y="16835.086" 4119 + x="4409.043" 4120 + xml:space="preserve"><tspan 4121 + id="tspan3104-5-7-7" 4122 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 4123 + <text 4124 + sodipodi:linespacing="125%" 4125 + id="text3110-3-0-5" 4126 + y="17055.541" 4127 + x="4579.373" 4128 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4129 + xml:space="preserve"><tspan 4130 + y="17055.541" 4131 + x="4579.373" 4132 + id="tspan3112-5-9-9" 4133 + sodipodi:role="line">read-side</tspan></text> 4134 + <text 4135 + sodipodi:linespacing="125%" 4136 + id="text3114-6-3-2" 4137 + y="17297.08" 4138 + x="4584.8276" 4139 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4140 + xml:space="preserve"><tspan 4141 + y="17297.08" 4142 + x="4584.8276" 4143 + id="tspan3116-2-6-2" 4144 + sodipodi:role="line">critical section</tspan></text> 4145 + </g> 4146 + <path 4147 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 4148 + d="m 8448.9566,48370.097 0,2393.663" 4149 + id="path3134-9-0-3-1-9-8" 4150 + inkscape:connector-curvature="0" 4151 + sodipodi:nodetypes="cc" /> 4152 + <path 4153 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 4154 + d="m 390.28991,48370.097 0,2393.663" 4155 + id="path3134-9-0-3-1-9-8-9" 4156 + inkscape:connector-curvature="0" 4157 + sodipodi:nodetypes="cc" /> 4158 + <g 4159 + id="g4504-2" 4160 + transform="translate(-143.72569,46137.076)"> 4161 + <path 4162 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 4163 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 4164 + sodipodi:ry="39.550262" 4165 + sodipodi:rx="65.917107" 4166 + sodipodi:cy="345.54001" 4167 + sodipodi:cx="319.379" 4168 + id="path3084-4" 4169 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 4170 + sodipodi:type="arc" /> 4171 + <text 4172 + sodipodi:linespacing="125%" 4173 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4174 + id="text202-7-5-1-2-79" 4175 + font-size="192" 4176 + font-weight="bold" 4177 + font-style="normal" 4178 + y="16835.086" 4179 + x="4273.4326" 4180 + xml:space="preserve"><tspan 4181 + id="tspan3104-3" 4182 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Wake up</tspan></text> 4183 + <text 4184 + sodipodi:linespacing="125%" 4185 + id="text3110-92" 4186 + y="17055.541" 4187 + x="4585.2246" 4188 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4189 + xml:space="preserve"><tspan 4190 + y="17055.541" 4191 + x="4585.2246" 4192 + id="tspan3112-8" 4193 + sodipodi:role="line">grace-period</tspan></text> 4194 + <text 4195 + sodipodi:linespacing="125%" 4196 + id="text3114-3" 4197 + y="17297.08" 4198 + x="4582.3804" 4199 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4200 + xml:space="preserve"><tspan 4201 + y="17297.08" 4202 + x="4582.3804" 4203 + id="tspan3116-0" 4204 + sodipodi:role="line">kernel thread</tspan></text> 4205 + </g> 4206 + <g 4207 + transform="translate(-707.64089,66256.889)" 4208 + id="g3148-2"> 4209 + <rect 4210 + ry="0" 4211 + id="rect118-3-5-2" 4212 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 4213 + rx="0" 4214 + height="412.66794" 4215 + width="3240.0085" 4216 + y="-4640.499" 4217 + x="3517.1572" /> 4218 + <text 4219 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4220 + id="text202-7-5-3-8" 4221 + font-size="192" 4222 + font-weight="bold" 4223 + font-style="normal" 4224 + y="-4418.6582" 4225 + x="4064.9268" 4226 + xml:space="preserve">rcu_report_qs_rsp()</text> 4227 + </g> 4228 + <path 4229 + sodipodi:type="arc" 4230 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 4231 + id="path3084-6-9" 4232 + sodipodi:cx="319.379" 4233 + sodipodi:cy="345.54001" 4234 + sodipodi:rx="65.917107" 4235 + sodipodi:ry="39.550262" 4236 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 4237 + transform="matrix(13.298129,0,0,13.298129,2044.7501,59781.881)" /> 4238 + <text 4239 + xml:space="preserve" 4240 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4241 + x="6294.6587" 4242 + y="64194.863" 4243 + id="text3110-0-1" 4244 + sodipodi:linespacing="125%"><tspan 4245 + sodipodi:role="line" 4246 + id="tspan3112-6-5" 4247 + x="6294.6587" 4248 + y="64194.863">Grace-period</tspan></text> 4249 + <text 4250 + xml:space="preserve" 4251 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4252 + x="6291.8931" 4253 + y="64450.863" 4254 + id="text3114-2-4" 4255 + sodipodi:linespacing="125%"><tspan 4256 + sodipodi:role="line" 4257 + id="tspan3116-6-9" 4258 + x="6291.8931" 4259 + y="64450.863">kernel thread</tspan></text> 4260 + <text 4261 + xml:space="preserve" 4262 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4263 + x="6294.3472" 4264 + y="64691.398" 4265 + id="text3114-1-2" 4266 + sodipodi:linespacing="125%"><tspan 4267 + sodipodi:role="line" 4268 + id="tspan3116-8-5" 4269 + x="6294.3472" 4270 + y="64691.398">awakened</tspan></text> 4271 + <path 4272 + sodipodi:nodetypes="ccc" 4273 + inkscape:connector-curvature="0" 4274 + id="path3134-9-0-3-3-2-7" 4275 + d="m 5310.5974,63210.805 984.0615,0 -3.9578,549.726" 4276 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 4277 + <path 4278 + sodipodi:nodetypes="cccccccccccccccccccccccc" 4279 + inkscape:connector-curvature="0" 4280 + id="path3134-9-0-3-99" 4281 + d="m 6322.9337,64896.388 -2.8276,2480.757 -2316.0141,-1.687 -2.8276,2179.855 2321.1758,-0.844 -2.7042,-1843.237 2404.5142,-0.212 16.1023,1993.267 -7783.83452,-4.728 -16.79346,2120.395 2033.10318,-23.535 2.0128,-1866.561 2051.9096,14.08 2.0128,1838.298 1280.8474,-4.728 14.6081,-1830.105 1312.2491,12.923 14.608,1818.337 2000.0093,20.422 -12.279,-1841.412 1304.1722,1.616 -12.279,2032.706 -4638.6586,1.616 19.5827,569.037" 4282 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 4283 + <g 4284 + style="fill:none;stroke-width:0.025in" 4285 + transform="translate(1874.038,53203.538)" 4286 + id="g3188-7"> 4287 + <text 4288 + xml:space="preserve" 4289 + x="3199.1516" 4290 + y="13255.592" 4291 + font-style="normal" 4292 + font-weight="bold" 4293 + font-size="192" 4294 + id="text202-82" 4295 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4296 + <g 4297 + id="g3107-53" 4298 + transform="translate(947.90548,11584.029)"> 4299 + <rect 4300 + id="rect112-49" 4301 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4302 + rx="0" 4303 + height="1370.8721" 4304 + width="2809.1992" 4305 + y="949.37109" 4306 + x="2084.55" /> 4307 + <rect 4308 + id="rect112-3-02" 4309 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4310 + rx="0" 4311 + height="1294.8468" 4312 + width="2809.1992" 4313 + y="1025.3964" 4314 + x="2084.55" /> 4315 + </g> 4316 + <text 4317 + xml:space="preserve" 4318 + x="5452.3052" 4319 + y="13844.535" 4320 + font-style="normal" 4321 + font-weight="bold" 4322 + font-size="192" 4323 + id="text202-7-5-1-2-3-7-0" 4324 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4325 + sodipodi:linespacing="125%"><tspan 4326 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4327 + id="tspan3104-6-5-19">Root</tspan></text> 4328 + </g> 4329 + <rect 4330 + ry="0" 4331 + id="rect118-6" 4332 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057845, 60.00115689;stroke-dashoffset:0" 4333 + rx="0" 4334 + height="14649.609" 4335 + width="13482.601" 4336 + y="65254.539" 4337 + x="-538.87689" /> 4338 + <text 4339 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4340 + id="text202-7-21" 4341 + font-size="192" 4342 + font-weight="bold" 4343 + font-style="normal" 4344 + y="65513.996" 4345 + x="-423.10056" 4346 + xml:space="preserve">rcu_gp_cleanup()</text> 4347 + <g 4348 + style="fill:none;stroke-width:0.025in" 4349 + transform="translate(1753.5744,53239.905)" 4350 + id="g3147-2"> 4351 + <g 4352 + style="fill:none;stroke-width:0.025in" 4353 + id="g3107-6-07" 4354 + transform="translate(3054.6101,13760.052)"> 4355 + <rect 4356 + id="rect112-7-3" 4357 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4358 + rx="0" 4359 + height="1370.8721" 4360 + width="2809.1992" 4361 + y="949.37109" 4362 + x="2084.55" /> 4363 + <rect 4364 + id="rect112-3-5-1" 4365 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4366 + rx="0" 4367 + height="1294.8468" 4368 + width="2809.1992" 4369 + y="1025.3964" 4370 + x="2084.55" /> 4371 + </g> 4372 + <text 4373 + xml:space="preserve" 4374 + x="5324.5371" 4375 + y="15414.598" 4376 + font-style="normal" 4377 + font-weight="bold" 4378 + font-size="192" 4379 + id="text202-753" 4380 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4381 + </g> 4382 + <g 4383 + style="fill:none;stroke-width:0.025in" 4384 + id="g3107-6-9-1" 4385 + transform="translate(7817.6676,69212.346)"> 4386 + <rect 4387 + id="rect112-7-1-90" 4388 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4389 + rx="0" 4390 + height="1370.8721" 4391 + width="2809.1992" 4392 + y="949.37109" 4393 + x="2084.55" /> 4394 + <rect 4395 + id="rect112-3-5-2-56" 4396 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4397 + rx="0" 4398 + height="1294.8468" 4399 + width="2809.1992" 4400 + y="1025.3964" 4401 + x="2084.55" /> 4402 + </g> 4403 + <text 4404 + xml:space="preserve" 4405 + x="12322.059" 4406 + y="71472.641" 4407 + font-style="normal" 4408 + font-weight="bold" 4409 + font-size="192" 4410 + id="text202-7-5-1-2-3-7-35-7-77" 4411 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4412 + sodipodi:linespacing="125%"><tspan 4413 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4414 + id="tspan3104-6-5-6-0-4">Leaf</tspan></text> 4415 + <text 4416 + xml:space="preserve" 4417 + x="10084.225" 4418 + y="70903.312" 4419 + font-style="normal" 4420 + font-weight="bold" 4421 + font-size="192" 4422 + id="text202-9-0" 4423 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4424 + <path 4425 + sodipodi:nodetypes="ccc" 4426 + inkscape:connector-curvature="0" 4427 + id="path3134-9-0-3-9" 4428 + d="m 6315.6122,72629.054 -20.9533,8108.684 1648.968,0" 4429 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 4430 + <text 4431 + xml:space="preserve" 4432 + x="5092.4683" 4433 + y="74111.672" 4434 + font-style="normal" 4435 + font-weight="bold" 4436 + font-size="192" 4437 + id="text202-60" 4438 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rsp-&gt;completed =</text> 4439 + <g 4440 + style="fill:none;stroke-width:0.025in" 4441 + id="g3107-62-6" 4442 + transform="translate(2814.6217,72520.234)"> 4443 + <rect 4444 + id="rect112-6" 4445 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4446 + rx="0" 4447 + height="1370.8721" 4448 + width="2809.1992" 4449 + y="949.37109" 4450 + x="2084.55" /> 4451 + <rect 4452 + id="rect112-3-1-4" 4453 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4454 + rx="0" 4455 + height="1294.8468" 4456 + width="2809.1992" 4457 + y="1025.3964" 4458 + x="2084.55" /> 4459 + </g> 4460 + <text 4461 + xml:space="preserve" 4462 + x="7319.022" 4463 + y="74780.406" 4464 + font-style="normal" 4465 + font-weight="bold" 4466 + font-size="192" 4467 + id="text202-7-5-1-2-3-7-8" 4468 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4469 + sodipodi:linespacing="125%"><tspan 4470 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4471 + id="tspan3104-6-5-7-7">Root</tspan></text> 4472 + <text 4473 + xml:space="preserve" 4474 + x="5092.4683" 4475 + y="74325.906" 4476 + font-style="normal" 4477 + font-weight="bold" 4478 + font-size="192" 4479 + id="text202-60-3" 4480 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"> rnp-&gt;completed</text> 4481 + <g 4482 + style="fill:none;stroke-width:0.025in" 4483 + transform="translate(1746.2528,60972.572)" 4484 + id="g3147-9"> 4485 + <g 4486 + style="fill:none;stroke-width:0.025in" 4487 + id="g3107-6-2" 4488 + transform="translate(3054.6101,13760.052)"> 4489 + <rect 4490 + id="rect112-7-02" 4491 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4492 + rx="0" 4493 + height="1370.8721" 4494 + width="2809.1992" 4495 + y="949.37109" 4496 + x="2084.55" /> 4497 + <rect 4498 + id="rect112-3-5-3" 4499 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4500 + rx="0" 4501 + height="1294.8468" 4502 + width="2809.1992" 4503 + y="1025.3964" 4504 + x="2084.55" /> 4505 + </g> 4506 + </g> 4507 + <g 4508 + style="fill:none;stroke-width:0.025in" 4509 + id="g3107-6-9-5" 4510 + transform="translate(7810.3459,76945.013)"> 4511 + <rect 4512 + id="rect112-7-1-9" 4513 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4514 + rx="0" 4515 + height="1370.8721" 4516 + width="2809.1992" 4517 + y="949.37109" 4518 + x="2084.55" /> 4519 + <rect 4520 + id="rect112-3-5-2-2" 4521 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4522 + rx="0" 4523 + height="1294.8468" 4524 + width="2809.1992" 4525 + y="1025.3964" 4526 + x="2084.55" /> 4527 + </g> 4528 + <text 4529 + xml:space="preserve" 4530 + x="12314.736" 4531 + y="79205.188" 4532 + font-style="normal" 4533 + font-weight="bold" 4534 + font-size="192" 4535 + id="text202-7-5-1-2-3-7-35-7-2" 4536 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4537 + sodipodi:linespacing="125%"><tspan 4538 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4539 + id="tspan3104-6-5-6-0-8">Leaf</tspan></text> 4540 + <g 4541 + transform="translate(-2226.2288,60972.572)" 4542 + id="g3147-3-7" 4543 + style="fill:none;stroke-width:0.025in"> 4544 + <g 4545 + style="fill:none;stroke-width:0.025in" 4546 + id="g3107-6-6-3" 4547 + transform="translate(3054.6101,13760.052)"> 4548 + <rect 4549 + id="rect112-7-0-6" 4550 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4551 + rx="0" 4552 + height="1370.8721" 4553 + width="2809.1992" 4554 + y="949.37109" 4555 + x="2084.55" /> 4556 + <rect 4557 + id="rect112-3-5-6-1" 4558 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4559 + rx="0" 4560 + height="1294.8468" 4561 + width="2809.1992" 4562 + y="1025.3964" 4563 + x="2084.55" /> 4564 + </g> 4565 + </g> 4566 + <g 4567 + transform="translate(-735.4075,60936.205)" 4568 + id="g3153-2-9" 4569 + style="fill:none;stroke-width:0.025in"> 4570 + <g 4571 + style="fill:none;stroke-width:0.025in" 4572 + id="g3107-6-9-6-3" 4573 + transform="translate(5213.0126,16008.808)"> 4574 + <rect 4575 + id="rect112-7-1-1-1-4" 4576 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4577 + rx="0" 4578 + height="1370.8721" 4579 + width="2809.1992" 4580 + y="949.37109" 4581 + x="2084.55" /> 4582 + <rect 4583 + id="rect112-3-5-2-8-9" 4584 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4585 + rx="0" 4586 + height="1294.8468" 4587 + width="2809.1992" 4588 + y="1025.3964" 4589 + x="2084.55" /> 4590 + </g> 4591 + <text 4592 + xml:space="preserve" 4593 + x="9717.4141" 4594 + y="18269.314" 4595 + font-style="normal" 4596 + font-weight="bold" 4597 + font-size="192" 4598 + id="text202-7-5-1-2-3-7-35-7-7-4-8" 4599 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4600 + sodipodi:linespacing="125%"><tspan 4601 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4602 + id="tspan3104-6-5-6-0-9-7">Leaf</tspan></text> 4603 + </g> 4604 + <g 4605 + transform="translate(-4068.1496,60936.205)" 4606 + id="g3153-20-8" 4607 + style="fill:none;stroke-width:0.025in"> 4608 + <g 4609 + style="fill:none;stroke-width:0.025in" 4610 + id="g3107-6-9-2-4" 4611 + transform="translate(5213.0126,16008.808)"> 4612 + <rect 4613 + id="rect112-7-1-3-5" 4614 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4615 + rx="0" 4616 + height="1370.8721" 4617 + width="2809.1992" 4618 + y="949.37109" 4619 + x="2084.55" /> 4620 + <rect 4621 + id="rect112-3-5-2-7-0" 4622 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4623 + rx="0" 4624 + height="1294.8468" 4625 + width="2809.1992" 4626 + y="1025.3964" 4627 + x="2084.55" /> 4628 + </g> 4629 + <text 4630 + xml:space="preserve" 4631 + x="9717.4141" 4632 + y="18269.314" 4633 + font-style="normal" 4634 + font-weight="bold" 4635 + font-size="192" 4636 + id="text202-7-5-1-2-3-7-35-7-5-3" 4637 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4638 + sodipodi:linespacing="125%"><tspan 4639 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4640 + id="tspan3104-6-5-6-0-92-6-5">Leaf</tspan></text> 4641 + </g> 4642 + <g 4643 + transform="translate(-7400.8907,60936.205)" 4644 + id="g3153-28-0" 4645 + style="fill:none;stroke-width:0.025in"> 4646 + <g 4647 + style="fill:none;stroke-width:0.025in" 4648 + id="g3107-6-9-9-6" 4649 + transform="translate(5213.0126,16008.808)"> 4650 + <rect 4651 + id="rect112-7-1-7-3-8" 4652 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4653 + rx="0" 4654 + height="1370.8721" 4655 + width="2809.1992" 4656 + y="949.37109" 4657 + x="2084.55" /> 4658 + <rect 4659 + id="rect112-3-5-2-3-2" 4660 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4661 + rx="0" 4662 + height="1294.8468" 4663 + width="2809.1992" 4664 + y="1025.3964" 4665 + x="2084.55" /> 4666 + </g> 4667 + <text 4668 + xml:space="preserve" 4669 + x="9717.4141" 4670 + y="18269.314" 4671 + font-style="normal" 4672 + font-weight="bold" 4673 + font-size="192" 4674 + id="text202-7-5-1-2-3-7-35-7-6-0" 4675 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4676 + sodipodi:linespacing="125%"><tspan 4677 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4678 + id="tspan3104-6-5-6-0-1-6-2">Leaf</tspan></text> 4679 + </g> 4680 + <path 4681 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4682 + d="m 4890.0661,74818.542 -582.9982,865.094" 4683 + id="path3414-5" 4684 + inkscape:connector-curvature="0" /> 4685 + <path 4686 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4687 + d="m 7698.8481,74818.804 582.998,865.094" 4688 + id="path3414-9-5" 4689 + inkscape:connector-curvature="0" /> 4690 + <path 4691 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4692 + d="m 2939.433,77031.719 -582.9982,865.094" 4693 + id="path3414-8-4-6" 4694 + inkscape:connector-curvature="0" /> 4695 + <path 4696 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4697 + d="m 9684.4834,77031.981 583.0036,865.094" 4698 + id="path3414-9-4-7-0" 4699 + inkscape:connector-curvature="0" /> 4700 + <path 4701 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4702 + d="m 4355.9293,77031.719 0,846.288" 4703 + id="path3414-8-3-65" 4704 + inkscape:connector-curvature="0" 4705 + sodipodi:nodetypes="cc" /> 4706 + <path 4707 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4708 + d="m 8232.9046,77058.315 0,846.288" 4709 + id="path3414-8-3-6-6-6" 4710 + inkscape:connector-curvature="0" 4711 + sodipodi:nodetypes="cc" /> 4712 + <g 4713 + transform="translate(-2218.9069,53239.905)" 4714 + id="g3147-3-64" 4715 + style="fill:none;stroke-width:0.025in"> 4716 + <g 4717 + style="fill:none;stroke-width:0.025in" 4718 + id="g3107-6-6-62" 4719 + transform="translate(3054.6101,13760.052)"> 4720 + <rect 4721 + id="rect112-7-0-8" 4722 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4723 + rx="0" 4724 + height="1370.8721" 4725 + width="2809.1992" 4726 + y="949.37109" 4727 + x="2084.55" /> 4728 + <rect 4729 + id="rect112-3-5-6-96" 4730 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4731 + rx="0" 4732 + height="1294.8468" 4733 + width="2809.1992" 4734 + y="1025.3964" 4735 + x="2084.55" /> 4736 + </g> 4737 + <text 4738 + xml:space="preserve" 4739 + x="5327.3057" 4740 + y="15428.84" 4741 + font-style="normal" 4742 + font-weight="bold" 4743 + font-size="192" 4744 + id="text202-36" 4745 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4746 + </g> 4747 + <g 4748 + transform="translate(-728.08545,53203.538)" 4749 + id="g3153-2-0" 4750 + style="fill:none;stroke-width:0.025in"> 4751 + <g 4752 + style="fill:none;stroke-width:0.025in" 4753 + id="g3107-6-9-6-7" 4754 + transform="translate(5213.0126,16008.808)"> 4755 + <rect 4756 + id="rect112-7-1-1-01" 4757 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4758 + rx="0" 4759 + height="1370.8721" 4760 + width="2809.1992" 4761 + y="949.37109" 4762 + x="2084.55" /> 4763 + <rect 4764 + id="rect112-3-5-2-8-0" 4765 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4766 + rx="0" 4767 + height="1294.8468" 4768 + width="2809.1992" 4769 + y="1025.3964" 4770 + x="2084.55" /> 4771 + </g> 4772 + <text 4773 + xml:space="preserve" 4774 + x="9717.4141" 4775 + y="18269.314" 4776 + font-style="normal" 4777 + font-weight="bold" 4778 + font-size="192" 4779 + id="text202-7-5-1-2-3-7-35-7-7-1" 4780 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4781 + sodipodi:linespacing="125%"><tspan 4782 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4783 + id="tspan3104-6-5-6-0-9-3">Leaf</tspan></text> 4784 + </g> 4785 + <g 4786 + transform="translate(-4060.8278,53203.538)" 4787 + id="g3153-20-7" 4788 + style="fill:none;stroke-width:0.025in"> 4789 + <g 4790 + style="fill:none;stroke-width:0.025in" 4791 + id="g3107-6-9-2-7" 4792 + transform="translate(5213.0126,16008.808)"> 4793 + <rect 4794 + id="rect112-7-1-3-2" 4795 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4796 + rx="0" 4797 + height="1370.8721" 4798 + width="2809.1992" 4799 + y="949.37109" 4800 + x="2084.55" /> 4801 + <rect 4802 + id="rect112-3-5-2-7-6" 4803 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4804 + rx="0" 4805 + height="1294.8468" 4806 + width="2809.1992" 4807 + y="1025.3964" 4808 + x="2084.55" /> 4809 + </g> 4810 + <text 4811 + xml:space="preserve" 4812 + x="9717.4141" 4813 + y="18269.314" 4814 + font-style="normal" 4815 + font-weight="bold" 4816 + font-size="192" 4817 + id="text202-7-5-1-2-3-7-35-7-5-4" 4818 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4819 + sodipodi:linespacing="125%"><tspan 4820 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4821 + id="tspan3104-6-5-6-0-92-5">Leaf</tspan></text> 4822 + <text 4823 + xml:space="preserve" 4824 + x="7486.4907" 4825 + y="17670.119" 4826 + font-style="normal" 4827 + font-weight="bold" 4828 + font-size="192" 4829 + id="text202-6-2" 4830 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4831 + </g> 4832 + <g 4833 + transform="translate(-7393.5687,53203.538)" 4834 + id="g3153-28-02" 4835 + style="fill:none;stroke-width:0.025in"> 4836 + <g 4837 + style="fill:none;stroke-width:0.025in" 4838 + id="g3107-6-9-9-9" 4839 + transform="translate(5213.0126,16008.808)"> 4840 + <rect 4841 + id="rect112-7-1-7-0" 4842 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4843 + rx="0" 4844 + height="1370.8721" 4845 + width="2809.1992" 4846 + y="949.37109" 4847 + x="2084.55" /> 4848 + <rect 4849 + id="rect112-3-5-2-3-9" 4850 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 4851 + rx="0" 4852 + height="1294.8468" 4853 + width="2809.1992" 4854 + y="1025.3964" 4855 + x="2084.55" /> 4856 + </g> 4857 + <text 4858 + xml:space="preserve" 4859 + x="9717.4141" 4860 + y="18269.314" 4861 + font-style="normal" 4862 + font-weight="bold" 4863 + font-size="192" 4864 + id="text202-7-5-1-2-3-7-35-7-6-94" 4865 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4866 + sodipodi:linespacing="125%"><tspan 4867 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 4868 + id="tspan3104-6-5-6-0-1-5">Leaf</tspan></text> 4869 + <text 4870 + xml:space="preserve" 4871 + x="7474.1382" 4872 + y="17688.926" 4873 + font-style="normal" 4874 + font-weight="bold" 4875 + font-size="192" 4876 + id="text202-5-1" 4877 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4878 + </g> 4879 + <path 4880 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4881 + d="m 4897.3878,67085.876 -582.9982,865.094" 4882 + id="path3414-03" 4883 + inkscape:connector-curvature="0" /> 4884 + <path 4885 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4886 + d="m 7706.1695,67086.138 582.9982,865.094" 4887 + id="path3414-9-78" 4888 + inkscape:connector-curvature="0" /> 4889 + <path 4890 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4891 + d="m 2946.7546,69299.053 -582.9981,865.094" 4892 + id="path3414-8-8" 4893 + inkscape:connector-curvature="0" /> 4894 + <path 4895 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4896 + d="m 9691.8054,69299.315 583.0036,865.094" 4897 + id="path3414-9-4-6" 4898 + inkscape:connector-curvature="0" /> 4899 + <path 4900 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4901 + d="m 4363.251,69299.053 0,846.288" 4902 + id="path3414-8-3-04" 4903 + inkscape:connector-curvature="0" 4904 + sodipodi:nodetypes="cc" /> 4905 + <path 4906 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 4907 + d="m 8240.2262,69325.649 0,846.288" 4908 + id="path3414-8-3-6-67" 4909 + inkscape:connector-curvature="0" 4910 + sodipodi:nodetypes="cc" /> 4911 + <text 4912 + xml:space="preserve" 4913 + x="6742.6001" 4914 + y="70882.617" 4915 + font-style="normal" 4916 + font-weight="bold" 4917 + font-size="192" 4918 + id="text202-2" 4919 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text> 4920 + <g 4921 + style="fill:none;stroke-width:0.025in" 4922 + id="g4504-3-9-6" 4923 + transform="translate(4290.2512,63653.93)"> 4924 + <path 4925 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 4926 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 4927 + sodipodi:ry="39.550262" 4928 + sodipodi:rx="65.917107" 4929 + sodipodi:cy="345.54001" 4930 + sodipodi:cx="319.379" 4931 + id="path3084-6-1-09" 4932 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 4933 + sodipodi:type="arc" /> 4934 + <text 4935 + sodipodi:linespacing="125%" 4936 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 4937 + id="text202-7-5-1-2-7-2-7" 4938 + font-size="192" 4939 + font-weight="bold" 4940 + font-style="normal" 4941 + y="16888.277" 4942 + x="4344.877" 4943 + xml:space="preserve"><tspan 4944 + id="tspan3104-5-7-5" 4945 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Start of</tspan></text> 4946 + <text 4947 + sodipodi:linespacing="125%" 4948 + id="text3110-3-0-9" 4949 + y="17119.1" 4950 + x="4578.7886" 4951 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4952 + xml:space="preserve"><tspan 4953 + y="17119.1" 4954 + x="4578.7886" 4955 + id="tspan3112-5-9-7" 4956 + sodipodi:role="line">Next Grace</tspan></text> 4957 + <text 4958 + sodipodi:linespacing="125%" 4959 + id="text3114-6-3-85" 4960 + y="17350.271" 4961 + x="4581.7886" 4962 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 4963 + xml:space="preserve"><tspan 4964 + y="17350.271" 4965 + x="4581.7886" 4966 + id="tspan3116-2-6-3" 4967 + sodipodi:role="line">Period</tspan></text> 4968 + </g> 4969 + <path 4970 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 4971 + d="m 4406.3256,79248.348 -0.01,5813.579" 4972 + id="path3134-9-0-3-37" 4973 + inkscape:connector-curvature="0" 4974 + sodipodi:nodetypes="cc" /> 4975 + <path 4976 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 4977 + d="m 4406.3181,82402.301 -2393.663,0.512 0,1196.832 2393.663,-0.512" 4978 + id="path3134-9-0-8" 4979 + inkscape:connector-curvature="0" 4980 + sodipodi:nodetypes="cccc" /> 4981 + <path 4982 + style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 4983 + d="m 4406.3181,82402.301 2393.6631,0.512 0,1196.832 -2393.6631,-0.512" 4984 + id="path3134-9-0-7-7" 4985 + inkscape:connector-curvature="0" 4986 + sodipodi:nodetypes="cccc" /> 4987 + <rect 4988 + x="578.16779" 4989 + y="82839.773" 4990 + width="2844.0972" 4991 + height="360.77411" 4992 + rx="0" 4993 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057845, 60.00115702;stroke-dashoffset:0" 4994 + id="rect118-3-4" 4995 + ry="0" /> 4996 + <text 4997 + xml:space="preserve" 4998 + x="806.7832" 4999 + y="83088.211" 5000 + font-style="normal" 5001 + font-weight="bold" 5002 + font-size="192" 5003 + id="text202-7-5-19" 5004 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_check_callbacks()</text> 5005 + <rect 5006 + x="5314.2671" 5007 + y="82817.688" 5008 + width="2975.115" 5009 + height="382.86298" 5010 + rx="0" 5011 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057858, 60.00115716;stroke-dashoffset:0" 5012 + id="rect118-36-0" 5013 + ry="0" /> 5014 + <text 5015 + xml:space="preserve" 5016 + x="5409.8989" 5017 + y="83063.711" 5018 + font-style="normal" 5019 + font-weight="bold" 5020 + font-size="192" 5021 + id="text202-7-9-6-9" 5022 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_cleanup_after_idle()</text> 5023 + <text 5024 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 5025 + id="text202-88" 5026 + font-size="192" 5027 + font-weight="bold" 5028 + font-style="normal" 5029 + y="81443.047" 5030 + x="3264.7983" 5031 + xml:space="preserve">rcu_advance_cbs()</text> 5032 + <rect 5033 + id="rect112-58" 5034 + style="fill:none;stroke:#000000;stroke-width:29.99999809;stroke-linecap:butt;stroke-linejoin:miter" 5035 + rx="0" 5036 + height="1370.8721" 5037 + width="2809.1992" 5038 + y="80561.273" 5039 + x="2991.7173" /> 5040 + <rect 5041 + id="rect112-3-4" 5042 + style="fill:none;stroke:#000000;stroke-width:29.99999809;stroke-linecap:butt;stroke-linejoin:miter" 5043 + rx="0" 5044 + height="1294.8468" 5045 + width="2809.1992" 5046 + y="80637.297" 5047 + x="2991.7173" /> 5048 + <text 5049 + sodipodi:linespacing="125%" 5050 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 5051 + id="text202-7-5-1-2-3-7-37" 5052 + font-size="192" 5053 + font-weight="bold" 5054 + font-style="normal" 5055 + y="81872.406" 5056 + x="5411.5601" 5057 + xml:space="preserve"><tspan 5058 + id="tspan3104-6-5-13" 5059 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 5060 + <text 5061 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 5062 + id="text202-3-8" 5063 + font-size="192" 5064 + font-weight="bold" 5065 + font-style="normal" 5066 + y="81232.938" 5067 + x="3264.7983" 5068 + xml:space="preserve">__note_gp_changes()</text> 5069 + <g 5070 + style="fill:none;stroke-width:0.025in" 5071 + id="g3049" 5072 + transform="translate(-1728.7601,83820.41)"> 5073 + <path 5074 + transform="matrix(13.298129,0,0,13.298129,1872.6808,-2726.4833)" 5075 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 5076 + sodipodi:ry="39.550262" 5077 + sodipodi:rx="65.917107" 5078 + sodipodi:cy="345.54001" 5079 + sodipodi:cx="319.379" 5080 + id="path3084-3-0" 5081 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 5082 + sodipodi:type="arc" /> 5083 + <text 5084 + sodipodi:linespacing="125%" 5085 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 5086 + id="text202-7-5-1-2-6-9" 5087 + font-size="192" 5088 + font-weight="bold" 5089 + font-style="normal" 5090 + y="1785.2073" 5091 + x="5717.4517" 5092 + xml:space="preserve"><tspan 5093 + id="tspan3104-7-7" 5094 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Phase Two</tspan></text> 5095 + <text 5096 + sodipodi:linespacing="125%" 5097 + id="text3110-5-9" 5098 + y="2005.6624" 5099 + x="6119.668" 5100 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 5101 + xml:space="preserve"><tspan 5102 + y="2005.6624" 5103 + x="6119.668" 5104 + id="tspan3112-3-9" 5105 + sodipodi:role="line">of Update</tspan></text> 5106 + </g> 5107 + <rect 5108 + x="3342.4805" 5109 + y="83998.438" 5110 + width="1994.7195" 5111 + height="664.90662" 5112 + rx="0" 5113 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057818, 60.00115636;stroke-dashoffset:0" 5114 + id="rect118-36-3" 5115 + ry="0" /> 5116 + <text 5117 + xml:space="preserve" 5118 + x="3608.4419" 5119 + y="84264.398" 5120 + font-style="normal" 5121 + font-weight="bold" 5122 + font-size="192" 5123 + id="text202-7-9-6-6" 5124 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">RCU_SOFTIRQ</text> 5125 + <text 5126 + xml:space="preserve" 5127 + x="3608.4419" 5128 + y="84530.367" 5129 + font-style="normal" 5130 + font-weight="bold" 5131 + font-size="192" 5132 + id="text202-7-9-6-6-7" 5133 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_do_batch()</text> 5134 + </g> 5135 + </svg>
+775
Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="613.22784" 17 + height="707.07056" 18 + viewBox="-44 -44 8154.7829 9398.3736" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-hotplug.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow1Send" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="Arrow1Send-36" 253 + style="overflow:visible"> 254 + <path 255 + id="path3940-0" 256 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 257 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 258 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow1Send" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="Arrow1Send-6" 267 + style="overflow:visible"> 268 + <path 269 + id="path3940-26" 270 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 271 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 272 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 273 + inkscape:connector-curvature="0" /> 274 + </marker> 275 + <marker 276 + inkscape:stockid="Arrow1Send" 277 + orient="auto" 278 + refY="0" 279 + refX="0" 280 + id="Arrow1Send-8" 281 + style="overflow:visible"> 282 + <path 283 + id="path3940-7" 284 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 285 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 286 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 287 + inkscape:connector-curvature="0" /> 288 + </marker> 289 + <marker 290 + inkscape:stockid="Arrow1Send" 291 + orient="auto" 292 + refY="0" 293 + refX="0" 294 + id="Arrow1Send-367" 295 + style="overflow:visible"> 296 + <path 297 + id="path3940-5" 298 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 299 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 300 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 301 + inkscape:connector-curvature="0" /> 302 + </marker> 303 + <marker 304 + inkscape:stockid="Arrow2Lend" 305 + orient="auto" 306 + refY="0" 307 + refX="0" 308 + id="Arrow2Lend-56" 309 + style="overflow:visible"> 310 + <path 311 + id="path3946-2" 312 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 313 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 314 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 315 + inkscape:connector-curvature="0" /> 316 + </marker> 317 + <marker 318 + inkscape:stockid="Arrow2Lend" 319 + orient="auto" 320 + refY="0" 321 + refX="0" 322 + id="marker3081" 323 + style="overflow:visible"> 324 + <path 325 + id="path3083" 326 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 327 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 328 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 329 + inkscape:connector-curvature="0" /> 330 + </marker> 331 + <marker 332 + inkscape:stockid="Arrow2Lend" 333 + orient="auto" 334 + refY="0" 335 + refX="0" 336 + id="marker3085" 337 + style="overflow:visible"> 338 + <path 339 + id="path3087" 340 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 341 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 342 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 343 + inkscape:connector-curvature="0" /> 344 + </marker> 345 + <marker 346 + inkscape:stockid="Arrow2Lend" 347 + orient="auto" 348 + refY="0" 349 + refX="0" 350 + id="marker3089" 351 + style="overflow:visible"> 352 + <path 353 + id="path3091" 354 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 355 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 356 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 357 + inkscape:connector-curvature="0" /> 358 + </marker> 359 + <marker 360 + inkscape:stockid="Arrow2Lend" 361 + orient="auto" 362 + refY="0" 363 + refX="0" 364 + id="marker3093" 365 + style="overflow:visible"> 366 + <path 367 + id="path3095" 368 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 369 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 370 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 371 + inkscape:connector-curvature="0" /> 372 + </marker> 373 + <marker 374 + inkscape:stockid="Arrow2Lend" 375 + orient="auto" 376 + refY="0" 377 + refX="0" 378 + id="marker3097" 379 + style="overflow:visible"> 380 + <path 381 + id="path3099" 382 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 383 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 384 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 385 + inkscape:connector-curvature="0" /> 386 + </marker> 387 + <marker 388 + inkscape:stockid="Arrow1Send" 389 + orient="auto" 390 + refY="0" 391 + refX="0" 392 + id="Arrow1Send-9" 393 + style="overflow:visible"> 394 + <path 395 + id="path3940-1" 396 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 397 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 398 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 399 + inkscape:connector-curvature="0" /> 400 + </marker> 401 + <marker 402 + inkscape:stockid="Arrow1Send" 403 + orient="auto" 404 + refY="0" 405 + refX="0" 406 + id="Arrow1Send-3675" 407 + style="overflow:visible"> 408 + <path 409 + id="path3940-3" 410 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 411 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 412 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 413 + inkscape:connector-curvature="0" /> 414 + </marker> 415 + </defs> 416 + <sodipodi:namedview 417 + pagecolor="#ffffff" 418 + bordercolor="#666666" 419 + borderopacity="1" 420 + objecttolerance="10" 421 + gridtolerance="10" 422 + guidetolerance="10" 423 + inkscape:pageopacity="0" 424 + inkscape:pageshadow="2" 425 + inkscape:window-width="1087" 426 + inkscape:window-height="1148" 427 + id="namedview208" 428 + showgrid="true" 429 + inkscape:zoom="1.4142136" 430 + inkscape:cx="325.41695" 431 + inkscape:cy="364.94502" 432 + inkscape:window-x="833" 433 + inkscape:window-y="24" 434 + inkscape:window-maximized="0" 435 + inkscape:current-layer="svg2" 436 + fit-margin-top="5" 437 + fit-margin-right="5" 438 + fit-margin-left="5" 439 + fit-margin-bottom="5" 440 + inkscape:snap-global="false"> 441 + <inkscape:grid 442 + type="xygrid" 443 + id="grid3154" 444 + empspacing="5" 445 + visible="true" 446 + enabled="true" 447 + snapvisiblegridlinesonly="true" 448 + originx="65.610033px" 449 + originy="-659.12429px" /> 450 + </sodipodi:namedview> 451 + <path 452 + sodipodi:nodetypes="cc" 453 + inkscape:connector-curvature="0" 454 + id="path3134-9-0-3-1-3-5" 455 + d="m 5749.1555,47.151064 2.828,9167.338436" 456 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 457 + <path 458 + sodipodi:nodetypes="ccc" 459 + inkscape:connector-curvature="0" 460 + id="path3134-9-0-3-1" 461 + d="m 5746.8844,5080.2018 -4107.7813,-0.8434 20.2152,2632.0511" 462 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 463 + <path 464 + sodipodi:nodetypes="ccc" 465 + inkscape:connector-curvature="0" 466 + id="path3134-9-0-3-1-3" 467 + d="m 1629.8595,1633.6804 12.2312,2669.7294 4055.5945,7.7159" 468 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 469 + <g 470 + id="g3115" 471 + transform="translate(1657.6576,12154.29)"> 472 + <rect 473 + ry="0" 474 + id="rect118-3" 475 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057923, 60.00115859;stroke-dashoffset:0" 476 + rx="0" 477 + height="2349.7295" 478 + width="3992.2642" 479 + y="-8909.5498" 480 + x="2379.3704" /> 481 + <g 482 + transform="translate(582.16224,-9085.2783)" 483 + id="g3107-7" 484 + style="fill:none;stroke-width:0.025in"> 485 + <rect 486 + x="2084.55" 487 + y="949.37109" 488 + width="2809.1992" 489 + height="1370.8721" 490 + rx="0" 491 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 492 + id="rect112-5" /> 493 + <rect 494 + x="2084.55" 495 + y="1025.3964" 496 + width="2809.1992" 497 + height="1294.8468" 498 + rx="0" 499 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 500 + id="rect112-3-3" /> 501 + </g> 502 + <text 503 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 504 + id="text202-6-6-2" 505 + font-size="192" 506 + font-weight="bold" 507 + font-style="normal" 508 + y="-7356.375" 509 + x="2774.7393" 510 + xml:space="preserve">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 511 + <text 512 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 513 + id="text202-7-2-7-7" 514 + font-size="192" 515 + font-weight="bold" 516 + font-style="normal" 517 + y="-8652.5312" 518 + x="2466.7822" 519 + xml:space="preserve">dyntick_save_progress_counter()</text> 520 + <text 521 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 522 + id="text202-7-2-7-2-0" 523 + font-size="192" 524 + font-weight="bold" 525 + font-style="normal" 526 + y="-8368.1475" 527 + x="2463.3262" 528 + xml:space="preserve">rcu_implicit_dynticks_qs()</text> 529 + <text 530 + sodipodi:linespacing="125%" 531 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 532 + id="text202-7-5-1-2-3" 533 + font-size="192" 534 + font-weight="bold" 535 + font-style="normal" 536 + y="-6817.3472" 537 + x="5103.9922" 538 + xml:space="preserve"><tspan 539 + id="tspan3104-6" 540 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 541 + </g> 542 + <g 543 + id="g4504" 544 + transform="translate(-2953.0872,-15955.072)"> 545 + <path 546 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 547 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 548 + sodipodi:ry="39.550262" 549 + sodipodi:rx="65.917107" 550 + sodipodi:cy="345.54001" 551 + sodipodi:cx="319.379" 552 + id="path3084" 553 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 554 + sodipodi:type="arc" /> 555 + <text 556 + sodipodi:linespacing="125%" 557 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 558 + id="text202-7-5-1-2" 559 + font-size="192" 560 + font-weight="bold" 561 + font-style="normal" 562 + y="16835.086" 563 + x="4409.043" 564 + xml:space="preserve"><tspan 565 + id="tspan3104" 566 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 567 + <text 568 + sodipodi:linespacing="125%" 569 + id="text3110" 570 + y="17055.541" 571 + x="4579.373" 572 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 573 + xml:space="preserve"><tspan 574 + y="17055.541" 575 + x="4579.373" 576 + id="tspan3112" 577 + sodipodi:role="line">read-side</tspan></text> 578 + <text 579 + sodipodi:linespacing="125%" 580 + id="text3114" 581 + y="17297.08" 582 + x="4584.8276" 583 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 584 + xml:space="preserve"><tspan 585 + y="17297.08" 586 + x="4584.8276" 587 + id="tspan3116" 588 + sodipodi:role="line">critical section</tspan></text> 589 + </g> 590 + <g 591 + id="g3148-9-9" 592 + transform="translate(-3554.8919,7020.44)"> 593 + <rect 594 + x="3592.3828" 595 + y="-4981.6865" 596 + width="3728.9751" 597 + height="2265.0989" 598 + rx="0" 599 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 600 + id="rect118-3-5-1-3" 601 + ry="0" /> 602 + <text 603 + xml:space="preserve" 604 + x="3745.7725" 605 + y="-4684.6201" 606 + font-style="normal" 607 + font-weight="bold" 608 + font-size="192" 609 + id="text202-7-5-3-27-6" 610 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_report_dead()</text> 611 + <text 612 + xml:space="preserve" 613 + x="3745.7725" 614 + y="-4431.7573" 615 + font-style="normal" 616 + font-weight="bold" 617 + font-size="192" 618 + id="text202-7-5-3-27-0-0" 619 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_cleanup_dying_idle_cpu()</text> 620 + <g 621 + transform="translate(1783.3183,-5255.3491)" 622 + id="g3107-7-5" 623 + style="fill:none;stroke-width:0.025in"> 624 + <rect 625 + x="2084.55" 626 + y="949.37109" 627 + width="2809.1992" 628 + height="1370.8721" 629 + rx="0" 630 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 631 + id="rect112-5-3" /> 632 + <rect 633 + x="2084.55" 634 + y="1025.3964" 635 + width="2809.1992" 636 + height="1294.8468" 637 + rx="0" 638 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 639 + id="rect112-3-3-5" /> 640 + </g> 641 + <text 642 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 643 + id="text202-6-6-2-6" 644 + font-size="192" 645 + font-weight="bold" 646 + font-style="normal" 647 + y="-3526.4448" 648 + x="4241.8574" 649 + xml:space="preserve">-&gt;qsmaskinitnext</text> 650 + <text 651 + sodipodi:linespacing="125%" 652 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 653 + id="text202-7-5-1-2-3-2" 654 + font-size="192" 655 + font-weight="bold" 656 + font-style="normal" 657 + y="-2987.4167" 658 + x="6305.1484" 659 + xml:space="preserve"><tspan 660 + id="tspan3104-6-9" 661 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text> 662 + </g> 663 + <g 664 + id="g4504-7" 665 + transform="translate(-2934.2808,-8785.3871)"> 666 + <path 667 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 668 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 669 + sodipodi:ry="39.550262" 670 + sodipodi:rx="65.917107" 671 + sodipodi:cy="345.54001" 672 + sodipodi:cx="319.379" 673 + id="path3084-9" 674 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 675 + sodipodi:type="arc" /> 676 + <text 677 + sodipodi:linespacing="125%" 678 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 679 + id="text202-7-5-1-2-2" 680 + font-size="192" 681 + font-weight="bold" 682 + font-style="normal" 683 + y="16835.086" 684 + x="4409.043" 685 + xml:space="preserve"><tspan 686 + id="tspan3104-0" 687 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 688 + <text 689 + sodipodi:linespacing="125%" 690 + id="text3110-2" 691 + y="17055.541" 692 + x="4579.373" 693 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 694 + xml:space="preserve"><tspan 695 + y="17055.541" 696 + x="4579.373" 697 + id="tspan3112-3" 698 + sodipodi:role="line">read-side</tspan></text> 699 + <text 700 + sodipodi:linespacing="125%" 701 + id="text3114-7" 702 + y="17297.08" 703 + x="4584.8276" 704 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 705 + xml:space="preserve"><tspan 706 + y="17297.08" 707 + x="4584.8276" 708 + id="tspan3116-5" 709 + sodipodi:role="line">critical section</tspan></text> 710 + </g> 711 + <g 712 + id="g3206" 713 + transform="translate(3999.537,1706.6099)"> 714 + <rect 715 + ry="0" 716 + id="rect118-3-5-1-3-1" 717 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00058007, 60.00116001;stroke-dashoffset:0" 718 + rx="0" 719 + height="2265.0989" 720 + width="3728.9751" 721 + y="3382.2036" 722 + x="-3958.3845" /> 723 + <text 724 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 725 + id="text202-7-5-3-27-6-2" 726 + font-size="192" 727 + font-weight="bold" 728 + font-style="normal" 729 + y="3679.27" 730 + x="-3804.9949" 731 + xml:space="preserve">rcu_cpu_starting()</text> 732 + <g 733 + style="fill:none;stroke-width:0.025in" 734 + id="g3107-7-5-0" 735 + transform="translate(-5767.4491,3108.5424)"> 736 + <rect 737 + id="rect112-5-3-9" 738 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 739 + rx="0" 740 + height="1370.8721" 741 + width="2809.1992" 742 + y="949.37109" 743 + x="2084.55" /> 744 + <rect 745 + id="rect112-3-3-5-3" 746 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 747 + rx="0" 748 + height="1294.8468" 749 + width="2809.1992" 750 + y="1025.3964" 751 + x="2084.55" /> 752 + </g> 753 + <text 754 + xml:space="preserve" 755 + x="-3308.9099" 756 + y="4837.4453" 757 + font-style="normal" 758 + font-weight="bold" 759 + font-size="192" 760 + id="text202-6-6-2-6-6" 761 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmaskinitnext</text> 762 + <text 763 + xml:space="preserve" 764 + x="-1245.6189" 765 + y="5376.4731" 766 + font-style="normal" 767 + font-weight="bold" 768 + font-size="192" 769 + id="text202-7-5-1-2-3-2-0" 770 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 771 + sodipodi:linespacing="125%"><tspan 772 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 773 + id="tspan3104-6-9-6">Leaf</tspan></text> 774 + </g> 775 + </svg>
+1095
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="1037.9601" 17 + height="1373.2583" 18 + viewBox="-44 -44 13802.927 18253.333" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="TreeRCU-qs.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Send" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Send" 43 + style="overflow:visible"> 44 + <path 45 + id="path3940" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="TriangleOutS" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="TriangleOutS" 57 + style="overflow:visible"> 58 + <path 59 + id="path4073" 60 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 62 + transform="scale(0.2,0.2)" 63 + inkscape:connector-curvature="0" /> 64 + </marker> 65 + <marker 66 + inkscape:stockid="TriangleOutM" 67 + orient="auto" 68 + refY="0" 69 + refX="0" 70 + id="TriangleOutM" 71 + style="overflow:visible"> 72 + <path 73 + id="path4070" 74 + d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" 75 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 76 + transform="scale(0.4,0.4)" 77 + inkscape:connector-curvature="0" /> 78 + </marker> 79 + <marker 80 + inkscape:stockid="Arrow2Mend" 81 + orient="auto" 82 + refY="0" 83 + refX="0" 84 + id="Arrow2Mend" 85 + style="overflow:visible"> 86 + <path 87 + id="path3952" 88 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 89 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 90 + transform="scale(-0.6,-0.6)" 91 + inkscape:connector-curvature="0" /> 92 + </marker> 93 + <marker 94 + inkscape:stockid="Arrow2Lend" 95 + orient="auto" 96 + refY="0" 97 + refX="0" 98 + id="Arrow2Lend" 99 + style="overflow:visible"> 100 + <path 101 + id="path3946" 102 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 103 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 104 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 105 + inkscape:connector-curvature="0" /> 106 + </marker> 107 + <marker 108 + inkscape:stockid="Arrow1Mend" 109 + orient="auto" 110 + refY="0" 111 + refX="0" 112 + id="Arrow1Mend" 113 + style="overflow:visible"> 114 + <path 115 + id="path3970" 116 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 117 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 118 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 119 + inkscape:connector-curvature="0" /> 120 + </marker> 121 + <marker 122 + inkscape:stockid="Arrow2Mend" 123 + orient="auto" 124 + refY="0" 125 + refX="0" 126 + id="Arrow2Mend-7" 127 + style="overflow:visible"> 128 + <path 129 + inkscape:connector-curvature="0" 130 + id="path3952-0" 131 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 132 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 133 + transform="scale(-0.6,-0.6)" /> 134 + </marker> 135 + <marker 136 + inkscape:stockid="Arrow1Send" 137 + orient="auto" 138 + refY="0" 139 + refX="0" 140 + id="Arrow1Send-3" 141 + style="overflow:visible"> 142 + <path 143 + inkscape:connector-curvature="0" 144 + id="path3940-6" 145 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 146 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 147 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 148 + </marker> 149 + <marker 150 + inkscape:stockid="Arrow1Send" 151 + orient="auto" 152 + refY="0" 153 + refX="0" 154 + id="Arrow1Send-1" 155 + style="overflow:visible"> 156 + <path 157 + inkscape:connector-curvature="0" 158 + id="path3940-2" 159 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 160 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 161 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 162 + </marker> 163 + <marker 164 + inkscape:stockid="Arrow1Send" 165 + orient="auto" 166 + refY="0" 167 + refX="0" 168 + id="Arrow1Send-0" 169 + style="overflow:visible"> 170 + <path 171 + inkscape:connector-curvature="0" 172 + id="path3940-9" 173 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 174 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 175 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> 176 + </marker> 177 + <marker 178 + inkscape:stockid="Arrow2Lend" 179 + orient="auto" 180 + refY="0" 181 + refX="0" 182 + id="Arrow2Lend-3" 183 + style="overflow:visible"> 184 + <path 185 + id="path3946-1" 186 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 187 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 188 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 189 + inkscape:connector-curvature="0" /> 190 + </marker> 191 + <marker 192 + inkscape:stockid="Arrow2Lend" 193 + orient="auto" 194 + refY="0" 195 + refX="0" 196 + id="Arrow2Lend-4" 197 + style="overflow:visible"> 198 + <path 199 + id="path3946-7" 200 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 201 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 202 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 203 + inkscape:connector-curvature="0" /> 204 + </marker> 205 + <marker 206 + inkscape:stockid="Arrow2Lend" 207 + orient="auto" 208 + refY="0" 209 + refX="0" 210 + id="marker4880" 211 + style="overflow:visible"> 212 + <path 213 + id="path4882" 214 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 215 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 216 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 217 + inkscape:connector-curvature="0" /> 218 + </marker> 219 + <marker 220 + inkscape:stockid="Arrow2Lend" 221 + orient="auto" 222 + refY="0" 223 + refX="0" 224 + id="Arrow2Lend-5" 225 + style="overflow:visible"> 226 + <path 227 + id="path3946-0" 228 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 229 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 230 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 231 + inkscape:connector-curvature="0" /> 232 + </marker> 233 + <marker 234 + inkscape:stockid="Arrow2Lend" 235 + orient="auto" 236 + refY="0" 237 + refX="0" 238 + id="Arrow2Lend-6" 239 + style="overflow:visible"> 240 + <path 241 + id="path3946-10" 242 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 243 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 244 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 245 + inkscape:connector-curvature="0" /> 246 + </marker> 247 + <marker 248 + inkscape:stockid="Arrow1Send" 249 + orient="auto" 250 + refY="0" 251 + refX="0" 252 + id="Arrow1Send-36" 253 + style="overflow:visible"> 254 + <path 255 + id="path3940-0" 256 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 257 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 258 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 259 + inkscape:connector-curvature="0" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow1Send" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="Arrow1Send-6" 267 + style="overflow:visible"> 268 + <path 269 + id="path3940-26" 270 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 271 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 272 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 273 + inkscape:connector-curvature="0" /> 274 + </marker> 275 + <marker 276 + inkscape:stockid="Arrow1Send" 277 + orient="auto" 278 + refY="0" 279 + refX="0" 280 + id="Arrow1Send-8" 281 + style="overflow:visible"> 282 + <path 283 + id="path3940-7" 284 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 285 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 286 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 287 + inkscape:connector-curvature="0" /> 288 + </marker> 289 + </defs> 290 + <sodipodi:namedview 291 + pagecolor="#ffffff" 292 + bordercolor="#666666" 293 + borderopacity="1" 294 + objecttolerance="10" 295 + gridtolerance="10" 296 + guidetolerance="10" 297 + inkscape:pageopacity="0" 298 + inkscape:pageshadow="2" 299 + inkscape:window-width="1087" 300 + inkscape:window-height="1144" 301 + id="namedview208" 302 + showgrid="true" 303 + inkscape:zoom="0.70710678" 304 + inkscape:cx="616.47598" 305 + inkscape:cy="595.41964" 306 + inkscape:window-x="813" 307 + inkscape:window-y="28" 308 + inkscape:window-maximized="0" 309 + inkscape:current-layer="g4405" 310 + fit-margin-top="5" 311 + fit-margin-right="5" 312 + fit-margin-left="5" 313 + fit-margin-bottom="5"> 314 + <inkscape:grid 315 + type="xygrid" 316 + id="grid3381" /> 317 + </sodipodi:namedview> 318 + <path 319 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-8)" 320 + d="m 6922.3555,14693.733 16.472,2346.582" 321 + id="path3134-9-0-3-1-9-9" 322 + inkscape:connector-curvature="0" 323 + sodipodi:nodetypes="cc" /> 324 + <g 325 + style="fill:none;stroke-width:0.025in" 326 + transform="translate(2431.6011,-4570.136)" 327 + id="g3188"> 328 + <text 329 + xml:space="preserve" 330 + x="3172.5554" 331 + y="13255.592" 332 + font-style="normal" 333 + font-weight="bold" 334 + font-size="192" 335 + id="text202" 336 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 337 + <g 338 + id="g3107" 339 + transform="translate(947.90548,11584.029)"> 340 + <rect 341 + id="rect112" 342 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 343 + rx="0" 344 + height="1370.8721" 345 + width="2809.1992" 346 + y="949.37109" 347 + x="2084.55" /> 348 + <rect 349 + id="rect112-3" 350 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 351 + rx="0" 352 + height="1294.8468" 353 + width="2809.1992" 354 + y="1025.3964" 355 + x="2084.55" /> 356 + </g> 357 + <text 358 + xml:space="preserve" 359 + x="5452.3052" 360 + y="13844.535" 361 + font-style="normal" 362 + font-weight="bold" 363 + font-size="192" 364 + id="text202-7-5-1-2-3-7" 365 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 366 + sodipodi:linespacing="125%"><tspan 367 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 368 + id="tspan3104-6-5">Root</tspan></text> 369 + </g> 370 + <rect 371 + ry="0" 372 + id="rect118" 373 + style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 374 + rx="0" 375 + height="7164.1636" 376 + width="13639.945" 377 + y="7160.9038" 378 + x="37.490932" /> 379 + <text 380 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 381 + id="text202-7" 382 + font-size="192" 383 + font-weight="bold" 384 + font-style="normal" 385 + y="7367.7192" 386 + x="134.46094" 387 + xml:space="preserve">rcu_report_rnp()</text> 388 + <g 389 + style="fill:none;stroke-width:0.025in" 390 + transform="translate(2311.1375,-4533.769)" 391 + id="g3147"> 392 + <g 393 + style="fill:none;stroke-width:0.025in" 394 + id="g3107-6" 395 + transform="translate(3054.6101,13760.052)"> 396 + <rect 397 + id="rect112-7" 398 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 399 + rx="0" 400 + height="1370.8721" 401 + width="2809.1992" 402 + y="949.37109" 403 + x="2084.55" /> 404 + <rect 405 + id="rect112-3-5" 406 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 407 + rx="0" 408 + height="1294.8468" 409 + width="2809.1992" 410 + y="1025.3964" 411 + x="2084.55" /> 412 + </g> 413 + </g> 414 + <g 415 + style="fill:none;stroke-width:0.025in" 416 + transform="translate(3162.2182,-4570.136)" 417 + id="g3153"> 418 + <g 419 + style="fill:none;stroke-width:0.025in" 420 + id="g3107-6-9" 421 + transform="translate(5213.0126,16008.808)"> 422 + <rect 423 + id="rect112-7-1" 424 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 425 + rx="0" 426 + height="1370.8721" 427 + width="2809.1992" 428 + y="949.37109" 429 + x="2084.55" /> 430 + <rect 431 + id="rect112-3-5-2" 432 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 433 + rx="0" 434 + height="1294.8468" 435 + width="2809.1992" 436 + y="1025.3964" 437 + x="2084.55" /> 438 + </g> 439 + <text 440 + xml:space="preserve" 441 + x="9717.4141" 442 + y="18269.314" 443 + font-style="normal" 444 + font-weight="bold" 445 + font-size="192" 446 + id="text202-7-5-1-2-3-7-35-7" 447 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 448 + sodipodi:linespacing="125%"><tspan 449 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 450 + id="tspan3104-6-5-6-0">Leaf</tspan></text> 451 + </g> 452 + <g 453 + transform="translate(-1661.3439,-4533.769)" 454 + id="g3147-3" 455 + style="fill:none;stroke-width:0.025in"> 456 + <g 457 + style="fill:none;stroke-width:0.025in" 458 + id="g3107-6-6" 459 + transform="translate(3054.6101,13760.052)"> 460 + <rect 461 + id="rect112-7-0" 462 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 463 + rx="0" 464 + height="1370.8721" 465 + width="2809.1992" 466 + y="949.37109" 467 + x="2084.55" /> 468 + <rect 469 + id="rect112-3-5-6" 470 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 471 + rx="0" 472 + height="1294.8468" 473 + width="2809.1992" 474 + y="1025.3964" 475 + x="2084.55" /> 476 + </g> 477 + <text 478 + xml:space="preserve" 479 + x="5284.9155" 480 + y="15386.685" 481 + font-style="normal" 482 + font-weight="bold" 483 + font-size="192" 484 + id="text202-3" 485 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 486 + </g> 487 + <g 488 + transform="translate(-170.52365,-4570.136)" 489 + id="g3153-2" 490 + style="fill:none;stroke-width:0.025in"> 491 + <g 492 + style="fill:none;stroke-width:0.025in" 493 + id="g3107-6-9-6" 494 + transform="translate(5213.0126,16008.808)"> 495 + <rect 496 + id="rect112-7-1-1" 497 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 498 + rx="0" 499 + height="1370.8721" 500 + width="2809.1992" 501 + y="949.37109" 502 + x="2084.55" /> 503 + <rect 504 + id="rect112-3-5-2-8" 505 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 506 + rx="0" 507 + height="1294.8468" 508 + width="2809.1992" 509 + y="1025.3964" 510 + x="2084.55" /> 511 + </g> 512 + <text 513 + xml:space="preserve" 514 + x="9717.4141" 515 + y="18269.314" 516 + font-style="normal" 517 + font-weight="bold" 518 + font-size="192" 519 + id="text202-7-5-1-2-3-7-35-7-7" 520 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 521 + sodipodi:linespacing="125%"><tspan 522 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 523 + id="tspan3104-6-5-6-0-9">Leaf</tspan></text> 524 + </g> 525 + <g 526 + transform="translate(-3503.2651,-4570.136)" 527 + id="g3153-20" 528 + style="fill:none;stroke-width:0.025in"> 529 + <g 530 + style="fill:none;stroke-width:0.025in" 531 + id="g3107-6-9-2" 532 + transform="translate(5213.0126,16008.808)"> 533 + <rect 534 + id="rect112-7-1-3" 535 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 536 + rx="0" 537 + height="1370.8721" 538 + width="2809.1992" 539 + y="949.37109" 540 + x="2084.55" /> 541 + <rect 542 + id="rect112-3-5-2-7" 543 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 544 + rx="0" 545 + height="1294.8468" 546 + width="2809.1992" 547 + y="1025.3964" 548 + x="2084.55" /> 549 + </g> 550 + <text 551 + xml:space="preserve" 552 + x="9717.4141" 553 + y="18269.314" 554 + font-style="normal" 555 + font-weight="bold" 556 + font-size="192" 557 + id="text202-7-5-1-2-3-7-35-7-5" 558 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 559 + sodipodi:linespacing="125%"><tspan 560 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 561 + id="tspan3104-6-5-6-0-92">Leaf</tspan></text> 562 + </g> 563 + <g 564 + transform="translate(-6836.0062,-4570.136)" 565 + id="g3153-28" 566 + style="fill:none;stroke-width:0.025in"> 567 + <g 568 + style="fill:none;stroke-width:0.025in" 569 + id="g3107-6-9-9" 570 + transform="translate(5213.0126,16008.808)"> 571 + <rect 572 + id="rect112-7-1-7" 573 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 574 + rx="0" 575 + height="1370.8721" 576 + width="2809.1992" 577 + y="949.37109" 578 + x="2084.55" /> 579 + <rect 580 + id="rect112-3-5-2-3" 581 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 582 + rx="0" 583 + height="1294.8468" 584 + width="2809.1992" 585 + y="1025.3964" 586 + x="2084.55" /> 587 + </g> 588 + <text 589 + xml:space="preserve" 590 + x="9717.4141" 591 + y="18269.314" 592 + font-style="normal" 593 + font-weight="bold" 594 + font-size="192" 595 + id="text202-7-5-1-2-3-7-35-7-6" 596 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 597 + sodipodi:linespacing="125%"><tspan 598 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 599 + id="tspan3104-6-5-6-0-1">Leaf</tspan></text> 600 + <text 601 + xml:space="preserve" 602 + x="7422.3945" 603 + y="17661.012" 604 + font-style="normal" 605 + font-weight="bold" 606 + font-size="192" 607 + id="text202-67" 608 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;qsmask &amp;= ~-&gt;grpmask</text> 609 + </g> 610 + <path 611 + style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 612 + d="m 5454.9508,9312.2011 -582.9982,865.0929" 613 + id="path3414" 614 + inkscape:connector-curvature="0" /> 615 + <path 616 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 617 + d="m 8263.7327,9312.4631 582.9982,865.0929" 618 + id="path3414-9" 619 + inkscape:connector-curvature="0" /> 620 + <path 621 + style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 622 + d="m 3504.3177,11525.377 -582.9982,865.094" 623 + id="path3414-8" 624 + inkscape:connector-curvature="0" /> 625 + <path 626 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 627 + d="m 10249.365,11525.639 583,865.094" 628 + id="path3414-9-4" 629 + inkscape:connector-curvature="0" /> 630 + <path 631 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 632 + d="m 4920.8141,11525.377 0,846.288" 633 + id="path3414-8-3" 634 + inkscape:connector-curvature="0" 635 + sodipodi:nodetypes="cc" /> 636 + <path 637 + style="fill:none;stroke:#000000;stroke-width:13.29812717px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 638 + d="m 8797.7894,11551.973 0,846.288" 639 + id="path3414-8-3-6" 640 + inkscape:connector-curvature="0" 641 + sodipodi:nodetypes="cc" /> 642 + <path 643 + sodipodi:nodetypes="cccccccccccccccc" 644 + inkscape:connector-curvature="0" 645 + id="path3134-9-0-3" 646 + d="m 6912.3719,6251.0009 -2.8276,1315.669 -5343.8436,17.119 -2.8276,6561.7441 2039.08,17.963 -2.7042,-2144.14 -491.6706,-0.211 -2.7042,-1993.689 1487.718,-4.728 -17.8001,1812.453 2017.2374,-7.643 4.9532,-2151.5715 -1405.5263,11.1629 -10.9191,-1891.1465 1739.2165,-2.718 0.1141,7086.0301" 647 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" /> 648 + <g 649 + id="g4405" 650 + transform="translate(1241.222,9051.8644)"> 651 + <path 652 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" 653 + d="m 5694.6259,-9006.994 -2.828,3233.9212 -2616.9163,17.1191 15.9788,1446.406 2603.2719,-0.8434 -29.6182,2086.6656" 654 + id="path3134-9-0-3-1" 655 + inkscape:connector-curvature="0" 656 + sodipodi:nodetypes="cccccc" /> 657 + <path 658 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 659 + d="m 5674.0539,-5773.0705 2616.9163,17.1191 -15.9788,1465.2124 -2584.4655,-19.6498" 660 + id="path3134-9-0-3-1-9" 661 + inkscape:connector-curvature="0" 662 + sodipodi:nodetypes="cccc" /> 663 + <g 664 + transform="translate(-456.05505,0)" 665 + id="g3115"> 666 + <rect 667 + x="4485.6865" 668 + y="-8571.0352" 669 + width="3296.428" 670 + height="2199.2754" 671 + rx="0" 672 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057923, 60.00115859;stroke-dashoffset:0" 673 + id="rect118-3" 674 + ry="0" /> 675 + <g 676 + style="fill:none;stroke-width:0.025in" 677 + id="g3107-7" 678 + transform="translate(2656.673,-8952.2968)"> 679 + <rect 680 + id="rect112-5" 681 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 682 + rx="0" 683 + height="1370.8721" 684 + width="2809.1992" 685 + y="949.37109" 686 + x="2084.55" /> 687 + <rect 688 + id="rect112-3-3" 689 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 690 + rx="0" 691 + height="1294.8468" 692 + width="2809.1992" 693 + y="1025.3964" 694 + x="2084.55" /> 695 + </g> 696 + <text 697 + xml:space="preserve" 698 + x="4714.3018" 699 + y="-8349.1943" 700 + font-style="normal" 701 + font-weight="bold" 702 + font-size="192" 703 + id="text202-7-5" 704 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">note_gp_changes()</text> 705 + <text 706 + xml:space="preserve" 707 + x="5014.2954" 708 + y="-7170.978" 709 + font-style="normal" 710 + font-weight="bold" 711 + font-size="192" 712 + id="text202-6-6" 713 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rdp-&gt;gpnum</text> 714 + <text 715 + xml:space="preserve" 716 + x="5035.4155" 717 + y="-7436.1636" 718 + font-style="normal" 719 + font-weight="bold" 720 + font-size="192" 721 + id="text202-6-6-2" 722 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">__note_gp_changes()</text> 723 + <text 724 + xml:space="preserve" 725 + x="7162.7471" 726 + y="-6692.6006" 727 + font-style="normal" 728 + font-weight="bold" 729 + font-size="192" 730 + id="text202-7-5-1-2-3" 731 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 732 + sodipodi:linespacing="125%"><tspan 733 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans" 734 + id="tspan3104-6">Leaf</tspan></text> 735 + </g> 736 + <g 737 + transform="translate(-2049.897,-585.6713)" 738 + id="g3148"> 739 + <rect 740 + ry="0" 741 + id="rect118-3-5" 742 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 743 + rx="0" 744 + height="412.66794" 745 + width="3240.0085" 746 + y="-4640.499" 747 + x="3517.1572" /> 748 + <text 749 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 750 + id="text202-7-5-3" 751 + font-size="192" 752 + font-weight="bold" 753 + font-style="normal" 754 + y="-4418.6582" 755 + x="3745.7725" 756 + xml:space="preserve">rcu_node_context_switch()</text> 757 + </g> 758 + <g 759 + transform="translate(3131.2648,-585.6713)" 760 + id="g3148-5"> 761 + <rect 762 + ry="0" 763 + id="rect118-3-5-6" 764 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 765 + rx="0" 766 + height="412.66794" 767 + width="3240.0085" 768 + y="-4640.499" 769 + x="3517.1572" /> 770 + <text 771 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 772 + id="text202-7-5-3-2" 773 + font-size="192" 774 + font-weight="bold" 775 + font-style="normal" 776 + y="-4418.6582" 777 + x="3745.7725" 778 + xml:space="preserve">rcu_check_callbacks()</text> 779 + </g> 780 + <g 781 + transform="translate(399.7744,828.86448)" 782 + id="g3148-9"> 783 + <rect 784 + ry="0" 785 + id="rect118-3-5-1" 786 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 787 + rx="0" 788 + height="864.02148" 789 + width="3540.9114" 790 + y="-4640.499" 791 + x="3517.1572" /> 792 + <text 793 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 794 + id="text202-7-5-3-27" 795 + font-size="192" 796 + font-weight="bold" 797 + font-style="normal" 798 + y="-4418.6582" 799 + x="3745.7725" 800 + xml:space="preserve">rcu_process_callbacks()</text> 801 + <text 802 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 803 + id="text202-7-5-3-27-0" 804 + font-size="192" 805 + font-weight="bold" 806 + font-style="normal" 807 + y="-4165.7954" 808 + x="3745.7725" 809 + xml:space="preserve">rcu_check_quiescent_state())</text> 810 + <text 811 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 812 + id="text202-7-5-3-27-0-9" 813 + font-size="192" 814 + font-weight="bold" 815 + font-style="normal" 816 + y="-3914.085" 817 + x="3745.7725" 818 + xml:space="preserve">rcu__report_qs_rdp())</text> 819 + </g> 820 + <g 821 + id="g4504-3" 822 + transform="translate(5136.3339,-23870.546)"> 823 + <path 824 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 825 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 826 + sodipodi:ry="39.550262" 827 + sodipodi:rx="65.917107" 828 + sodipodi:cy="345.54001" 829 + sodipodi:cx="319.379" 830 + id="path3084-6" 831 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 832 + sodipodi:type="arc" /> 833 + <text 834 + sodipodi:linespacing="125%" 835 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 836 + id="text202-7-5-1-2-7" 837 + font-size="192" 838 + font-weight="bold" 839 + font-style="normal" 840 + y="16835.086" 841 + x="4409.043" 842 + xml:space="preserve"><tspan 843 + id="tspan3104-5" 844 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 845 + <text 846 + sodipodi:linespacing="125%" 847 + id="text3110-3" 848 + y="17055.541" 849 + x="4579.373" 850 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 851 + xml:space="preserve"><tspan 852 + y="17055.541" 853 + x="4579.373" 854 + id="tspan3112-5" 855 + sodipodi:role="line">read-side</tspan></text> 856 + <text 857 + sodipodi:linespacing="125%" 858 + id="text3114-6" 859 + y="17297.08" 860 + x="4584.8276" 861 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 862 + xml:space="preserve"><tspan 863 + y="17297.08" 864 + x="4584.8276" 865 + id="tspan3116-2" 866 + sodipodi:role="line">critical section</tspan></text> 867 + </g> 868 + <g 869 + id="g4504-3-9" 870 + transform="translate(5136.3339,-20417.959)"> 871 + <path 872 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 873 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 874 + sodipodi:ry="39.550262" 875 + sodipodi:rx="65.917107" 876 + sodipodi:cy="345.54001" 877 + sodipodi:cx="319.379" 878 + id="path3084-6-1" 879 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 880 + sodipodi:type="arc" /> 881 + <text 882 + sodipodi:linespacing="125%" 883 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 884 + id="text202-7-5-1-2-7-2" 885 + font-size="192" 886 + font-weight="bold" 887 + font-style="normal" 888 + y="16835.086" 889 + x="4409.043" 890 + xml:space="preserve"><tspan 891 + id="tspan3104-5-7" 892 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 893 + <text 894 + sodipodi:linespacing="125%" 895 + id="text3110-3-0" 896 + y="17055.541" 897 + x="4579.373" 898 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 899 + xml:space="preserve"><tspan 900 + y="17055.541" 901 + x="4579.373" 902 + id="tspan3112-5-9" 903 + sodipodi:role="line">read-side</tspan></text> 904 + <text 905 + sodipodi:linespacing="125%" 906 + id="text3114-6-3" 907 + y="17297.08" 908 + x="4584.8276" 909 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 910 + xml:space="preserve"><tspan 911 + y="17297.08" 912 + x="4584.8276" 913 + id="tspan3116-2-6" 914 + sodipodi:role="line">critical section</tspan></text> 915 + </g> 916 + <g 917 + id="g4504-3-0" 918 + transform="translate(-2824.9451,-23870.546)"> 919 + <path 920 + transform="matrix(13.298129,0,0,13.298129,228.84485,12456.379)" 921 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 922 + sodipodi:ry="39.550262" 923 + sodipodi:rx="65.917107" 924 + sodipodi:cy="345.54001" 925 + sodipodi:cx="319.379" 926 + id="path3084-6-6" 927 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 928 + sodipodi:type="arc" /> 929 + <text 930 + sodipodi:linespacing="125%" 931 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 932 + id="text202-7-5-1-2-7-26" 933 + font-size="192" 934 + font-weight="bold" 935 + font-style="normal" 936 + y="16835.086" 937 + x="4409.043" 938 + xml:space="preserve"><tspan 939 + id="tspan3104-5-1" 940 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 941 + <text 942 + sodipodi:linespacing="125%" 943 + id="text3110-3-8" 944 + y="17055.541" 945 + x="4579.373" 946 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 947 + xml:space="preserve"><tspan 948 + y="17055.541" 949 + x="4579.373" 950 + id="tspan3112-5-7" 951 + sodipodi:role="line">read-side</tspan></text> 952 + <text 953 + sodipodi:linespacing="125%" 954 + id="text3114-6-9" 955 + y="17297.08" 956 + x="4584.8276" 957 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 958 + xml:space="preserve"><tspan 959 + y="17297.08" 960 + x="4584.8276" 961 + id="tspan3116-2-2" 962 + sodipodi:role="line">critical section</tspan></text> 963 + </g> 964 + <g 965 + id="g4504-3-9-0" 966 + transform="translate(-2931.3303,-20417.959)"> 967 + <path 968 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 969 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 970 + sodipodi:ry="39.550262" 971 + sodipodi:rx="65.917107" 972 + sodipodi:cy="345.54001" 973 + sodipodi:cx="319.379" 974 + id="path3084-6-1-2" 975 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 976 + sodipodi:type="arc" /> 977 + <text 978 + sodipodi:linespacing="125%" 979 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 980 + id="text202-7-5-1-2-7-2-3" 981 + font-size="192" 982 + font-weight="bold" 983 + font-style="normal" 984 + y="16835.086" 985 + x="4409.043" 986 + xml:space="preserve"><tspan 987 + id="tspan3104-5-7-7" 988 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">RCU</tspan></text> 989 + <text 990 + sodipodi:linespacing="125%" 991 + id="text3110-3-0-5" 992 + y="17055.541" 993 + x="4579.373" 994 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 995 + xml:space="preserve"><tspan 996 + y="17055.541" 997 + x="4579.373" 998 + id="tspan3112-5-9-9" 999 + sodipodi:role="line">read-side</tspan></text> 1000 + <text 1001 + sodipodi:linespacing="125%" 1002 + id="text3114-6-3-2" 1003 + y="17297.08" 1004 + x="4584.8276" 1005 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1006 + xml:space="preserve"><tspan 1007 + y="17297.08" 1008 + x="4584.8276" 1009 + id="tspan3116-2-6-2" 1010 + sodipodi:role="line">critical section</tspan></text> 1011 + </g> 1012 + <path 1013 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 1014 + d="m 9699.0326,-6264.1445 0,2393.6632" 1015 + id="path3134-9-0-3-1-9-8" 1016 + inkscape:connector-curvature="0" 1017 + sodipodi:nodetypes="cc" /> 1018 + <path 1019 + style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 1020 + d="m 1640.3664,-6264.1445 0,2393.6632" 1021 + id="path3134-9-0-3-1-9-8-9" 1022 + inkscape:connector-curvature="0" 1023 + sodipodi:nodetypes="cc" /> 1024 + </g> 1025 + <g 1026 + id="g4504" 1027 + transform="translate(2347.5727,554.69889)"> 1028 + <path 1029 + transform="matrix(13.298129,0,0,13.298129,335.22989,12456.379)" 1030 + d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z" 1031 + sodipodi:ry="39.550262" 1032 + sodipodi:rx="65.917107" 1033 + sodipodi:cy="345.54001" 1034 + sodipodi:cx="319.379" 1035 + id="path3084" 1036 + style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0" 1037 + sodipodi:type="arc" /> 1038 + <text 1039 + sodipodi:linespacing="125%" 1040 + style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1041 + id="text202-7-5-1-2" 1042 + font-size="192" 1043 + font-weight="bold" 1044 + font-style="normal" 1045 + y="16835.086" 1046 + x="4273.4326" 1047 + xml:space="preserve"><tspan 1048 + id="tspan3104" 1049 + style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Wake up</tspan></text> 1050 + <text 1051 + sodipodi:linespacing="125%" 1052 + id="text3110" 1053 + y="17055.541" 1054 + x="4585.2246" 1055 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1056 + xml:space="preserve"><tspan 1057 + y="17055.541" 1058 + x="4585.2246" 1059 + id="tspan3112" 1060 + sodipodi:role="line">grace-period</tspan></text> 1061 + <text 1062 + sodipodi:linespacing="125%" 1063 + id="text3114" 1064 + y="17297.08" 1065 + x="4582.3804" 1066 + style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 1067 + xml:space="preserve"><tspan 1068 + y="17297.08" 1069 + x="4582.3804" 1070 + id="tspan3116" 1071 + sodipodi:role="line">kernel thread</tspan></text> 1072 + </g> 1073 + <g 1074 + transform="translate(1783.6576,20674.512)" 1075 + id="g3148-2"> 1076 + <rect 1077 + ry="0" 1078 + id="rect118-3-5-2" 1079 + style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057963, 60.00115926;stroke-dashoffset:0" 1080 + rx="0" 1081 + height="412.66794" 1082 + width="3240.0085" 1083 + y="-4640.499" 1084 + x="3517.1572" /> 1085 + <text 1086 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 1087 + id="text202-7-5-3-8" 1088 + font-size="192" 1089 + font-weight="bold" 1090 + font-style="normal" 1091 + y="-4418.6582" 1092 + x="4064.9268" 1093 + xml:space="preserve">rcu_report_qs_rsp()</text> 1094 + </g> 1095 + </svg>
+229
Documentation/RCU/Design/Memory-Ordering/rcu_node-lock.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Creator: fig2dev Version 3.2 Patchlevel 5e --> 3 + 4 + <!-- CreationDate: Wed Dec 9 17:35:03 2015 --> 5 + 6 + <!-- Magnification: 2.000 --> 7 + 8 + <svg 9 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10 + xmlns:cc="http://creativecommons.org/ns#" 11 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12 + xmlns:svg="http://www.w3.org/2000/svg" 13 + xmlns="http://www.w3.org/2000/svg" 14 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 15 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16 + width="303.54147" 17 + height="211.57945" 18 + viewBox="-44 -44 4036.5336 2812.3117" 19 + id="svg2" 20 + version="1.1" 21 + inkscape:version="0.48.4 r9939" 22 + sodipodi:docname="rcu_node-lock.svg"> 23 + <metadata 24 + id="metadata212"> 25 + <rdf:RDF> 26 + <cc:Work 27 + rdf:about=""> 28 + <dc:format>image/svg+xml</dc:format> 29 + <dc:type 30 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31 + <dc:title /> 32 + </cc:Work> 33 + </rdf:RDF> 34 + </metadata> 35 + <defs 36 + id="defs210"> 37 + <marker 38 + inkscape:stockid="Arrow1Mend" 39 + orient="auto" 40 + refY="0" 41 + refX="0" 42 + id="Arrow1Mend" 43 + style="overflow:visible"> 44 + <path 45 + id="path3970" 46 + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" 47 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" 48 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + </defs> 52 + <sodipodi:namedview 53 + pagecolor="#ffffff" 54 + bordercolor="#666666" 55 + borderopacity="1" 56 + objecttolerance="10" 57 + gridtolerance="10" 58 + guidetolerance="10" 59 + inkscape:pageopacity="0" 60 + inkscape:pageshadow="2" 61 + inkscape:window-width="1087" 62 + inkscape:window-height="1144" 63 + id="namedview208" 64 + showgrid="false" 65 + inkscape:zoom="1.0495049" 66 + inkscape:cx="311.2033" 67 + inkscape:cy="168.10913" 68 + inkscape:window-x="833" 69 + inkscape:window-y="28" 70 + inkscape:window-maximized="0" 71 + inkscape:current-layer="g4" 72 + fit-margin-top="5" 73 + fit-margin-right="5" 74 + fit-margin-left="5" 75 + fit-margin-bottom="5" /> 76 + <g 77 + style="fill:none;stroke-width:0.025in" 78 + id="g4" 79 + transform="translate(-1905.5784,-4568.3024)"> 80 + <!-- Line: box --> 81 + <!-- Line: box --> 82 + <!-- Line: box --> 83 + <!-- Line --> 84 + <!-- Arrowhead on XXXpoint 5250 8100 - 5710 5790--> 85 + <!-- Line --> 86 + <!-- Arrowhead on XXXpoint 4050 9300 - 4512 7140--> 87 + <!-- Line --> 88 + <!-- Arrowhead on XXXpoint 1040 9300 - 1502 7140--> 89 + <!-- Line --> 90 + <!-- Arrowhead on XXXpoint 2240 8100 - 2702 5940--> 91 + <!-- Line: box --> 92 + <!-- Line: box --> 93 + <!-- Line --> 94 + <!-- Arrowhead on XXXpoint 1350 3450 - 2444 2510--> 95 + <!-- Line --> 96 + <!-- Arrowhead on XXXpoint 4950 3450 - 3854 2510--> 97 + <!-- Line --> 98 + <!-- Arrowhead on XXXpoint 4050 6600 - 4050 4290--> 99 + <!-- Line --> 100 + <!-- Arrowhead on XXXpoint 1050 6600 - 1050 4290--> 101 + <!-- Line --> 102 + <!-- Arrowhead on XXXpoint 2250 5400 - 2250 4290--> 103 + <!-- Line --> 104 + <!-- Arrowhead on XXXpoint 2250 8100 - 2250 6240--> 105 + <!-- Line --> 106 + <!-- Arrowhead on XXXpoint 1050 9300 - 1050 7440--> 107 + <!-- Line --> 108 + <!-- Arrowhead on XXXpoint 4050 9300 - 4050 7440--> 109 + <!-- Line --> 110 + <!-- Arrowhead on XXXpoint 5250 8100 - 5250 6240--> 111 + <!-- Circle --> 112 + <!-- Circle --> 113 + <!-- Circle --> 114 + <!-- Circle --> 115 + <!-- Circle --> 116 + <!-- Circle --> 117 + <!-- Circle --> 118 + <!-- Circle --> 119 + <!-- Circle --> 120 + <!-- Line: box --> 121 + <!-- Line: box --> 122 + <!-- Line: box --> 123 + <!-- Line: box --> 124 + <!-- Line: box --> 125 + <!-- Line: box --> 126 + <!-- Line: box --> 127 + <!-- Line: box --> 128 + <!-- Line: box --> 129 + <!-- Line: box --> 130 + <!-- Line --> 131 + <!-- Line --> 132 + <!-- Arrowhead on XXXpoint 9300 3150 - 10860 3150--> 133 + <!-- Line: box --> 134 + <!-- Line --> 135 + <!-- Arrowhead on XXXpoint 11400 3600 - 11400 4410--> 136 + <!-- Line: box --> 137 + <rect 138 + x="1943.0693" 139 + y="4603.417" 140 + width="3873.5518" 141 + height="2650.6289" 142 + rx="0" 143 + style="stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057884, 60.00115769;stroke-dashoffset:0" 144 + id="rect118" 145 + ry="0" /> 146 + <!-- Line --> 147 + <!-- Arrowhead on XXXpoint 11400 5100 - 11400 5910--> 148 + <!-- Line: box --> 149 + <!-- Line --> 150 + <!-- Arrowhead on XXXpoint 9900 4650 - 10860 4650--> 151 + <!-- Line --> 152 + <!-- Arrowhead on XXXpoint 9600 6150 - 10860 6150--> 153 + <!-- Text --> 154 + <!-- Text --> 155 + <!-- Text --> 156 + <!-- Text --> 157 + <!-- Text --> 158 + <!-- Text --> 159 + <!-- Text --> 160 + <!-- Text --> 161 + <!-- Text --> 162 + <!-- Text --> 163 + <!-- Text --> 164 + <!-- Text --> 165 + <!-- Text --> 166 + <!-- Text --> 167 + <!-- Text --> 168 + <!-- Text --> 169 + <!-- Text --> 170 + <!-- Text --> 171 + <!-- Text --> 172 + <!-- Text --> 173 + <!-- Text --> 174 + <!-- Text --> 175 + <!-- Text --> 176 + <!-- Text --> 177 + <!-- Text --> 178 + <!-- Text --> 179 + <!-- Line --> 180 + <!-- Arrowhead on XXXpoint 5250 5400 - 5250 4290--> 181 + <!-- Line: box --> 182 + <!-- Line: box --> 183 + <!-- Line: box --> 184 + <!-- Line: box --> 185 + <!-- Text --> 186 + <!-- Text --> 187 + <!-- Text --> 188 + <text 189 + xml:space="preserve" 190 + x="3105.219" 191 + y="6425.6445" 192 + font-style="normal" 193 + font-weight="bold" 194 + font-size="192" 195 + id="text202" 196 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rcu_accelerate_cbs()</text> 197 + <!-- Text --> 198 + <!-- Text --> 199 + <g 200 + id="g3107" 201 + transform="translate(747.5807,4700.8888)"> 202 + <rect 203 + id="rect112" 204 + style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 205 + rx="0" 206 + height="1370.8721" 207 + width="2809.1992" 208 + y="949.37109" 209 + x="2084.55" /> 210 + <rect 211 + id="rect112-3" 212 + style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter" 213 + rx="0" 214 + height="1294.8468" 215 + width="2809.1992" 216 + y="1025.3964" 217 + x="2084.55" /> 218 + </g> 219 + <text 220 + xml:space="preserve" 221 + x="2025.5763" 222 + y="4825.2578" 223 + font-style="normal" 224 + font-weight="bold" 225 + font-size="192" 226 + id="text202-7" 227 + style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_prepare_for_idle()</text> 228 + </g> 229 + </svg>