diff --git a/Documentation/RCU/Design/Data-Structures/BigTreeClassicRCU.svg b/Documentation/RCU/Design/Data-Structures/BigTreeClassicRCU.svg index 727e270b11e4e3..e7ea7b702168fe 100644 --- a/Documentation/RCU/Design/Data-Structures/BigTreeClassicRCU.svg +++ b/Documentation/RCU/Design/Data-Structures/BigTreeClassicRCU.svg @@ -1,474 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - struct - - rcu_data - - CPU 0 - - struct - - rcu_data - - CPU 15 - - struct - - rcu_data - - CPU 1007 - - struct - - rcu_data - - CPU 1023 - - struct rcu_state - - struct - - rcu_node - - rcu_node - - struct - - struct - - rcu_node - - - - - - - - +structrcu_dataCPU 0structrcu_dataCPU 15structrcu_dataCPU 1007structrcu_dataCPU 1023struct rcu_statestructrcu_nodercu_nodestructstructrcu_node \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/BigTreePreemptRCUBHdyntickCB.svg b/Documentation/RCU/Design/Data-Structures/BigTreePreemptRCUBHdyntickCB.svg index 3a1a4f85dc3a5d..2269d5a546a587 100644 --- a/Documentation/RCU/Design/Data-Structures/BigTreePreemptRCUBHdyntickCB.svg +++ b/Documentation/RCU/Design/Data-Structures/BigTreePreemptRCUBHdyntickCB.svg @@ -1,662 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - struct - - rcu_head - - struct - - rcu_head - - struct - - rcu_head - - rcu_state - - - struct - - rcu_node - - struct - - rcu_node - - rcu_node - - struct - - struct - - rcu_data - - struct - - rcu_data - - struct - - rcu_data - - struct - - rcu_data - - struct rcu_state - - - - - - - - - - - - - - - +structrcu_headstructrcu_headstructrcu_headrcu_statestructrcu_nodestructrcu_nodercu_nodestructstructrcu_datastructrcu_datastructrcu_datastructrcu_datastruct rcu_state \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/HugeTreeClassicRCU.svg b/Documentation/RCU/Design/Data-Structures/HugeTreeClassicRCU.svg index 2bf12b46820602..78d426d3e1f223 100644 --- a/Documentation/RCU/Design/Data-Structures/HugeTreeClassicRCU.svg +++ b/Documentation/RCU/Design/Data-Structures/HugeTreeClassicRCU.svg @@ -1,939 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_node - - struct - - struct - - rcu_node - - struct - - rcu_node - - rcu_node - - struct - - rcu_node - - struct - - struct - - rcu_node - - CPU 0 - - struct - - rcu_data - - CPU 15 - - struct - - rcu_data - - struct - - rcu_data - - CPU 21823 - - CPU 21839 - - rcu_data - - struct - - struct - - rcu_data - - CPU 43679 - - CPU 43695 - - rcu_data - - struct - - struct - - rcu_data - - CPU 65519 - - CPU 65535 - - rcu_data - - struct - - struct rcu_state - - struct - - rcu_node - - +rcu_nodestructstructrcu_nodestructrcu_nodercu_nodestructrcu_nodestructstructrcu_nodeCPU 0structrcu_dataCPU 15structrcu_datastructrcu_dataCPU 21823CPU 21839rcu_datastructstructrcu_dataCPU 43679CPU 43695rcu_datastructstructrcu_dataCPU 65519CPU 65535rcu_datastructstruct rcu_statestructrcu_node \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/TreeLevel.svg b/Documentation/RCU/Design/Data-Structures/TreeLevel.svg index 7a7eb3bac95cc9..704dbb96bb9e92 100644 --- a/Documentation/RCU/Design/Data-Structures/TreeLevel.svg +++ b/Documentation/RCU/Design/Data-Structures/TreeLevel.svg @@ -1,828 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_node - - struct - - struct - - rcu_node - - struct - - rcu_node - - rcu_node - - struct - - rcu_node - - struct - - struct - - rcu_node - - ->level[0] - - ->level[1] - - ->level[2] - - struct - - rcu_node - - CPU 15 - - CPU 0 - - CPU 65535 - - CPU 65519 - - CPU 43695 - - CPU 43679 - - CPU 21839 - - CPU 21823 - - struct rcu_state - - +rcu_nodestructstructrcu_nodestructrcu_nodercu_nodestructrcu_nodestructstructrcu_node->level[0]->level[1]->level[2]structrcu_nodeCPU 15CPU 0CPU 65535CPU 65519CPU 43695CPU 43679CPU 21839CPU 21823struct rcu_state \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/TreeMapping.svg b/Documentation/RCU/Design/Data-Structures/TreeMapping.svg index 729cfa9e6cdb8e..6df2b7166b64ae 100644 --- a/Documentation/RCU/Design/Data-Structures/TreeMapping.svg +++ b/Documentation/RCU/Design/Data-Structures/TreeMapping.svg @@ -1,305 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0:7 - - 4:7 - - 0:1 - - 2:3 - - 4:5 - - 6:7 - - 0:3 - - struct rcu_state - - +0:74:70:12:34:56:70:3struct rcu_state \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/TreeMappingLevel.svg b/Documentation/RCU/Design/Data-Structures/TreeMappingLevel.svg index 5b416a4b8453f6..db6bf2ba19884e 100644 --- a/Documentation/RCU/Design/Data-Structures/TreeMappingLevel.svg +++ b/Documentation/RCU/Design/Data-Structures/TreeMappingLevel.svg @@ -1,380 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->level[0] - - ->level[1] - - ->level[2] - - 0:7 - - 4:7 - - 0:1 - - 2:3 - - 4:5 - - 6:7 - - 0:3 - - struct rcu_state - - - - - - - - - +->level[0]->level[1]->level[2]0:74:70:12:34:56:70:3struct rcu_state \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/blkd_task.svg b/Documentation/RCU/Design/Data-Structures/blkd_task.svg index bed13e9ecab899..75f19d7a9b8ce3 100644 --- a/Documentation/RCU/Design/Data-Structures/blkd_task.svg +++ b/Documentation/RCU/Design/Data-Structures/blkd_task.svg @@ -1,631 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - struct - - rcu_node - - struct - - rcu_node - - struct - - rcu_data - - struct - - rcu_data - - struct - - rcu_data - - struct - - rcu_data - - struct rcu_state - - - - - - - - - - rcu_state - - T3 - - T2 - - T1 - - - - - - - - - - - - - rcu_node - - struct - - blkd_tasks - - gp_tasks - - exp_tasks - - +structrcu_nodestructrcu_nodestructrcu_datastructrcu_datastructrcu_datastructrcu_datastruct rcu_statercu_stateT3T2T1rcu_nodestructblkd_tasksgp_tasksexp_tasks \ No newline at end of file diff --git a/Documentation/RCU/Design/Data-Structures/nxtlist.svg b/Documentation/RCU/Design/Data-Structures/nxtlist.svg index 0223e79c38e003..97f62111038b04 100644 --- a/Documentation/RCU/Design/Data-Structures/nxtlist.svg +++ b/Documentation/RCU/Design/Data-Structures/nxtlist.svg @@ -1,386 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->head - - ->tails[RCU_DONE_TAIL] - - ->tails[RCU_WAIT_TAIL] - - ->tails[RCU_NEXT_READY_TAIL] - - ->tails[RCU_NEXT_TAIL] - - CB 1 - - next - - CB 3 - - next - - CB 4 - - next - - CB 2 - - next - - +->head->tails[RCU_DONE_TAIL]->tails[RCU_WAIT_TAIL]->tails[RCU_NEXT_READY_TAIL]->tails[RCU_NEXT_TAIL]CB 1nextCB 3nextCB 4nextCB 2next \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg index 7c6c90bd02c942..d7431d8a231a0a 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg @@ -1,830 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Idle oroffline? - - - - CPU N Start - - - - Y - - - Done - - - - Send IPI to CPU N - - - - - In RCUread-sidecriticalsection? - - N - - - - IPI Handler - - - - N - - - Report CPUQuiescentState - - - Y - - - rcu_read_unlock() - - - - - - Context Switch - - - - - Report CPUand TaskQuiescent States - - - - Enqueue Task - - - - - - Report CPUQuiescentState - - - - - +Idle oroffline?CPU N StartYDoneSend IPI to CPU NIn RCUread-sidecriticalsection?NIPI HandlerNReport CPUQuiescentStateYrcu_read_unlock()Context SwitchReport CPUand TaskQuiescent StatesEnqueue TaskReport CPUQuiescentState \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg index 6189ffcc6aff8e..77e7bfc38be088 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg @@ -1,830 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Idle oroffline? - - - - CPU N Start - - - - Y - - - Done - - - - Send IPI to CPU N - - - - - CPU idle? - - N - - - - IPI Handler - - - - Y - - - Report CPUQuiescentState - - - N - - - Context Switch - - - - - - CPU Offline - - - - - Report CPUQuiescentState - - - - - Report CPUQuiescentState - - - - - - Requestcontext switch - - - +Idle oroffline?CPU N StartYDoneSend IPI to CPU NCPU idle?NIPI HandlerYReport CPUQuiescentStateNContext SwitchCPU OfflineReport CPUQuiescentStateReport CPUQuiescentStateRequestcontext switch \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg index 98af665579088c..731789f5570315 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg @@ -1,275 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 0 - - - - - - - - - - - - :0 - - - - - - - - :0 - - - +->expedited_sequence: 0:0:0 \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg index e0184a37aec745..83e41e63c3a008 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg @@ -1,275 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 0 - - - - - - - - - - - - A:2 - - - - - - - - B:2 - - - +->expedited_sequence: 0A:2B:2 \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg index 1bc3fed54d58fa..d73ccd23ecb1a1 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg @@ -1,287 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 0 - - - - - - - - - - - - :2 - - - - - - - - B:2 - - A:2 - - +->expedited_sequence: 0:2B:2A:2 \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg index 6d8a1bffb3e4b6..e9836ae6476900 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg @@ -1,323 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 0 GP: A - - - - - - - - - - - - :2 - C - - - - - - - - :2 - D - - :2 - B - - +->expedited_sequence: 0 GP: A:2C:2D:2B \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg index 44018fd6342ba6..ca58b380559491 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg @@ -1,323 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 1 GP: A - - - - - - - - - - - - E:4 - C - - - - - - - - F:4 - D - - :2 - B - - +->expedited_sequence: 1 GP: AE:4CF:4D:2B \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg index e5eef50454fb60..e5d6f29b113ba1 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg @@ -1,335 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 1 GP: A,E - - - - - - - - - - - - :4 - C - - - - - - - - :4 - D - - :4 - B - F - - +->expedited_sequence: 1 GP: A,E:4C:4D:4BF \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg index fbd2c1892886e0..e4c3f509fa4974 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg @@ -1,335 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 2 GP: E Wakeup: A - - - - - - - - - - - - :4 - C - - - - - - - - :4 - D - - :4 - B - F - - +->expedited_sequence: 2 GP: E Wakeup: A:4C:4D:4BF \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg index 502e159ed278e1..7729cdadd7e98a 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg @@ -1,347 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 3 GP: E,H Wakeup: A - - - - - - - - - - - - :4 - C - - - - - - - - :6 - D - - :6 - B - F - G - - +->expedited_sequence: 3 GP: E,H Wakeup: A:4C:6D:6BFG \ No newline at end of file diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg index 677401551c7d03..641a6a57f3f02b 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg @@ -1,311 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - ->expedited_sequence: 3 GP: E,H - - - - - - - - - - - - :4 - - - - - - - - :6 - - :6 - F - G - - +->expedited_sequence: 3 GP: E,H:4:6:6FG \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg index 3fcf0c17cef229..f7d0bdc6337039 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg @@ -1,486 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_sched_clock_irq() - - rcu_cleanup_after_idle() - - rcu_advance_cbs() - - - Leaf - __note_gp_changes() - - - - Phase Two - of Update - - - RCU_SOFTIRQ - rcu_do_batch() - - +rcu_sched_clock_irq()rcu_cleanup_after_idle()rcu_advance_cbs()Leaf__note_gp_changes()Phase Twoof UpdateRCU_SOFTIRQrcu_do_batch() \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg index 7ac6f9269806db..15cfd54c0b8808 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg @@ -1,655 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_accelerate_cbs() - - - - - rcu_prepare_for_idle() - - rcu_accelerate_cbs() - - - - - note_gp_changes() - rcu_advance_cbs() - __note_gp_changes() - - call_rcu() - - Wake up - grace-period - kernel thread - - rcu_accelerate_cbs() - - - - - takedown_cpu() - rcutree_migrate_callbacks() - rcu_migrate_callbacks() - rcu_advance_cbs() - Leaf - Leaf - Leaf - - Phase One - of Update - - +rcu_accelerate_cbs()rcu_prepare_for_idle()rcu_accelerate_cbs()note_gp_changes()rcu_advance_cbs()__note_gp_changes()call_rcu()Wake upgrace-periodkernel threadrcu_accelerate_cbs()takedown_cpu()rcutree_migrate_callbacks()rcu_migrate_callbacks()rcu_advance_cbs()LeafLeafLeafPhase Oneof Update \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg index 423df00c4df9d5..9c6955277c36c8 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg @@ -1,700 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->qsmask &= ~->grpmask - Leaf - dyntick_save_progress_counter() - rcu_implicit_dynticks_qs() - - - - RCU - read-side - critical section - - - - rcu_dynticks_eqs_enter() - atomic_add_return() - - - - rcu_dynticks_eqs_exit() - atomic_add_return() - - - - RCU - read-side - critical section - - +->qsmask &= ~->grpmaskLeafdyntick_save_progress_counter()rcu_implicit_dynticks_qs()RCUread-sidecritical sectionrcu_dynticks_eqs_enter()atomic_add_return()rcu_dynticks_eqs_exit()atomic_add_return()RCUread-sidecritical section \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg index bf84fbab27eece..860326ba11fa4d 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg @@ -1,1133 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_seq_end(&rnp->gp_seq) - - - - - Root - - - rcu_gp_cleanup() - - - - - - rcu_seq_end(&rnp->gp_seq) - - - - - - - Leaf - - - - - - - Root - rcu_seq_end(&rsp->gp_seq) - - - - - - - - - - - - Leaf - - - - - - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - - - - - - - - rcu_seq_end(&rnp->gp_seq) - - - - - - - rcu_seq_end(&rnp->gp_seq) - - - - - - - Leaf - - - - - - - Leaf - rcu_seq_end(&rnp->gp_seq) - - - - - - - Leaf - rcu_seq_end(&rnp->gp_seq) - - - - - - - - - - Start of - Next Grace - Period - - - rcu_seq_end(&rnp->gp_seq) - +rcu_seq_end(&rnp->gp_seq)Rootrcu_gp_cleanup()rcu_seq_end(&rnp->gp_seq)LeafRootrcu_seq_end(&rsp->gp_seq)LeafLeafLeafLeafrcu_seq_end(&rnp->gp_seq)rcu_seq_end(&rnp->gp_seq)LeafLeafrcu_seq_end(&rnp->gp_seq)Leafrcu_seq_end(&rnp->gp_seq)Start ofNext GracePeriodrcu_seq_end(&rnp->gp_seq) \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg index 7ddc094d7f28f5..7ef1e399c24297 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg @@ -1,1309 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_gp_fqs() - - - - - - ->qsmask &= ~->grpmask - - - - - - - Leaf - - - - - - - ->qsmask &= ~->grpmask - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - ->qsmask &= ~->grpmask - - - - - - - - - force_qs_rnp() - dyntick_save_progress_counter() - - - - - - Root - ->qsmask &= ~->grpmask - - rcu_implicit_dynticks_qs() - ->qsmask &= ~->grpmask - - - RCU - read-side - critical section - - - - rcu_dynticks_eqs_enter() - atomic_add_return() - - - - rcu_dynticks_eqs_exit() - atomic_add_return() - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - rcu_report_dead() - rcu_cleanup_dying_idle_cpu() - - - - - ->qsmaskinitnext - Leaf - - - - RCU - read-side - critical section - - - - rcu_cpu_starting() - - - - - ->qsmaskinitnext - Leaf - - - +rcu_gp_fqs()->qsmask &= ~->grpmaskLeaf->qsmask &= ~->grpmaskLeafLeafLeaf->qsmask &= ~->grpmaskforce_qs_rnp()dyntick_save_progress_counter()Root->qsmask &= ~->grpmaskrcu_implicit_dynticks_qs()->qsmask &= ~->grpmaskRCUread-sidecritical sectionrcu_dynticks_eqs_enter()atomic_add_return()rcu_dynticks_eqs_exit()atomic_add_return()RCUread-sidecritical sectionRCUread-sidecritical sectionrcu_report_dead()rcu_cleanup_dying_idle_cpu()->qsmaskinitnextLeafRCUread-sidecritical sectionrcu_cpu_starting()->qsmaskinitnextLeaf \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg index 8c207550818f3f..6e82c8e77d8999 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg @@ -1,658 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_seq_start(rsp->gp_seq) - - - - - Root - - - rcu_gp_init() - - - - - - - - - - - - Leaf - - - - - - - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - - - - - - - - - - End of - Last Grace - Period - - - +rcu_seq_start(rsp->gp_seq)Rootrcu_gp_init()LeafLeafLeafLeafEnd ofLast GracePeriod \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-2.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-2.svg index 4d956a7326858e..524d88dc3d435b 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-2.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-2.svg @@ -1,656 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_gp_init() - - - - - - - - - - - - Leaf - - - - - - - ->qsmaskinit - ->qsmaskinitnext - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - ->qsmaskinit - - - - - - - - - rcu_init_new_rnp() or - rcu_cleanup_dead_rnp() - (optional) - - ->qsmaskinit - - - - - Root - ->qsmaskinitnext - - +rcu_gp_init()Leaf->qsmaskinit->qsmaskinitnextLeafLeafLeaf->qsmaskinitrcu_init_new_rnp() orrcu_cleanup_dead_rnp()(optional)->qsmaskinitRoot->qsmaskinitnext \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg index d24d7d555dbce6..359803836f3223 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg @@ -1,636 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->gp_seq = rsp->gp_seq - - - - - Root - - - rcu_gp_init() - - - - - - ->gp_seq = rsp->gp_seq - - - - - - - Leaf - ->gp_seq = rsp->gp_seq - - - - - - - ->gp_seq = rsp->gp_seq - - - - - - - Leaf - - - - - - - Leaf - ->gp_seq = rsp->gp_seq - - - - - - - Leaf - ->gp_seq = rsp->gp_seq - - - - - - - - ->gp_seq = rsp->gp_seq - +->gp_seq = rsp->gp_seqRootrcu_gp_init()->gp_seq = rsp->gp_seqLeaf->gp_seq = rsp->gp_seq->gp_seq = rsp->gp_seqLeafLeaf->gp_seq = rsp->gp_seqLeaf->gp_seq = rsp->gp_seq->gp_seq = rsp->gp_seq \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg index 069f6f8371c20f..a8400a356e71b4 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg @@ -1,5144 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_accelerate_cbs() - - - - - rcu_prepare_for_idle() - - rcu_accelerate_cbs() - - - - - note_gp_changes() - rcu_advance_cbs() - __note_gp_changes() - - call_rcu() - - Wake up - grace-period - kernel thread - - rcu_accelerate_cbs() - - - - - takedown_cpu() - rcutree_migrate_callbacks() - rcu_migrate_callbacks() - rcu_advance_cbs() - Leaf - Leaf - Leaf - - Phase One - of Update - - - - - - - Root - rcu_seq_start(rsp->gp_seq) - - - rcu_gp_init() - - - - - - - - - - - - Leaf - - - - - - - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - - - - - - - - - - End of - Last Grace - Period - - - - Grace-period - kernel thread - awakened - - - - - - - - - - - - - - Leaf - - - - - - - ->qsmaskinit - ->qsmaskinitnext - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - ->qsmaskinit - - - - - - - - - rcu_init_new_rnp() or - rcu_cleanup_dead_rnp() - (optional) - - ->qsmaskinit - - - - - Root - ->qsmaskinitnext - - - - - - - - Root - ->gp_seq = rsp->gp_seq - - - - - - - ->gp_seq = rsp->gp_seq - - - - - - - Leaf - ->gp_seq = rsp->gp_seq - - - - - - - ->gp_seq = rsp->gp_seq - - - - - - - Leaf - - - - - - - Leaf - ->gp_seq = rsp->gp_seq - - - - - - - Leaf - ->gp_seq = rsp->gp_seq - - - - - - - - - - - - - - rcu_gp_fqs() - - - - - - ->qsmask &= ~->grpmask - - - - - - - Leaf - - - - - - - ->qsmask &= ~->grpmask - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - ->qsmask &= ~->grpmask - - - - - - - - - force_qs_rnp() - dyntick_save_progress_counter() - - - - - - Root - ->qsmask &= ~->grpmask - - rcu_implicit_dynticks_qs() - ->qsmask &= ~->grpmask - - - RCU - read-side - critical section - - - - rcu_dynticks_eqs_enter() - atomic_add_return() - - - - rcu_dynticks_eqs_exit() - atomic_add_return() - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - rcu_report_dead() - rcu_cleanup_dying_idle_cpu() - - - - - ->qsmaskinitnext - Leaf - - - - RCU - read-side - critical section - - - - rcu_cpu_starting() - - - - - ->qsmaskinitnext - Leaf - - - - - ->qsmask &= ~->grpmask - - - - - Root - - - rcu_report_rnp() - - - - - - - - - - - - Leaf - - - - - - - ->qsmask &= ~->grpmask - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - ->qsmask &= ~->grpmask - - - - - - - - - - - - - - - - - note_gp_changes() - rdp->gp_seq - __note_gp_changes() - Leaf - - - - rcu_note_context_switch() - - - - rcu_sched_clock_irq() - - - - rcu_core() - rcu_check_quiescent_state() - rcu__report_qs_rdp()) - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - - - Wake up - grace-period - kernel thread - - - - rcu_report_qs_rsp() - - - Grace-period - kernel thread - awakened - - - - - - - - Root - rcu_seq_end(&rnp->gp_seq) - - - rcu_gp_cleanup() - - - - - - rcu_seq_end(&rnp->gp_seq) - - - - - - Leaf - - - - - - Root - - - - - - - - - - - Leaf - - - - - - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - - - - - - - - - - - - - rcu_seq_end(&rnp->gp_seq) - - - - - - - Leaf - - - - - - - Leaf - rcu_seq_end(&rnp->gp_seq) - - - - - - - Leaf - rcu_seq_end(&rnp->gp_seq) - - - - - - - - - - Start of - Next Grace - Period - - - - - - rcu_sched_clock_irq() - - rcu_cleanup_after_idle() - rcu_advance_cbs() - - - Leaf - __note_gp_changes() - - - Phase Two - of Update - - - RCU_SOFTIRQ - rcu_do_batch() - rcu_seq_end(&rnp->gp_seq) - rcu_seq_end(&rnp->gp_seq) - rcu_seq_end(&rsp->gp_seq) - ->gp_seq = rsp->gp_seq - - +rcu_accelerate_cbs()rcu_prepare_for_idle()rcu_accelerate_cbs()note_gp_changes()rcu_advance_cbs()__note_gp_changes()call_rcu()Wake upgrace-periodkernel threadrcu_accelerate_cbs()takedown_cpu()rcutree_migrate_callbacks()rcu_migrate_callbacks()rcu_advance_cbs()LeafLeafLeafPhase Oneof UpdateRootrcu_seq_start(rsp->gp_seq)rcu_gp_init()LeafLeafLeafLeafEnd ofLast GracePeriodGrace-periodkernel threadawakenedLeaf->qsmaskinit->qsmaskinitnextLeafLeafLeaf->qsmaskinitrcu_init_new_rnp() orrcu_cleanup_dead_rnp()(optional)->qsmaskinitRoot->qsmaskinitnextRoot->gp_seq = rsp->gp_seq->gp_seq = rsp->gp_seqLeaf->gp_seq = rsp->gp_seq->gp_seq = rsp->gp_seqLeafLeaf->gp_seq = rsp->gp_seqLeaf->gp_seq = rsp->gp_seqrcu_gp_fqs()->qsmask &= ~->grpmaskLeaf->qsmask &= ~->grpmaskLeafLeafLeaf->qsmask &= ~->grpmaskforce_qs_rnp()dyntick_save_progress_counter()Root->qsmask &= ~->grpmaskrcu_implicit_dynticks_qs()->qsmask &= ~->grpmaskRCUread-sidecritical sectionrcu_dynticks_eqs_enter()atomic_add_return()rcu_dynticks_eqs_exit()atomic_add_return()RCUread-sidecritical sectionRCUread-sidecritical sectionrcu_report_dead()rcu_cleanup_dying_idle_cpu()->qsmaskinitnextLeafRCUread-sidecritical sectionrcu_cpu_starting()->qsmaskinitnextLeaf->qsmask &= ~->grpmaskRootrcu_report_rnp()Leaf->qsmask &= ~->grpmaskLeafLeafLeaf->qsmask &= ~->grpmasknote_gp_changes()rdp->gp_seq__note_gp_changes()Leafrcu_note_context_switch()rcu_sched_clock_irq()rcu_core()rcu_check_quiescent_state()rcu__report_qs_rdp())RCUread-sidecritical sectionRCUread-sidecritical sectionRCUread-sidecritical sectionRCUread-sidecritical sectionWake upgrace-periodkernel threadrcu_report_qs_rsp()Grace-periodkernel threadawakenedRootrcu_seq_end(&rnp->gp_seq)rcu_gp_cleanup()rcu_seq_end(&rnp->gp_seq)LeafRootLeafLeafLeafLeafrcu_seq_end(&rnp->gp_seq)LeafLeafrcu_seq_end(&rnp->gp_seq)Leafrcu_seq_end(&rnp->gp_seq)Start ofNext GracePeriodrcu_sched_clock_irq()rcu_cleanup_after_idle()rcu_advance_cbs()Leaf__note_gp_changes()Phase Twoof UpdateRCU_SOFTIRQrcu_do_batch()rcu_seq_end(&rnp->gp_seq)rcu_seq_end(&rnp->gp_seq)rcu_seq_end(&rsp->gp_seq)->gp_seq = rsp->gp_seq \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg index 2c9310ba29bad9..cd238203d85c17 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg @@ -1,775 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->qsmask &= ~->grpmask - dyntick_save_progress_counter() - rcu_implicit_dynticks_qs() - Leaf - - - - RCU - read-side - critical section - - - - rcu_report_dead() - rcu_cleanup_dying_idle_cpu() - - - - - ->qsmaskinitnext - Leaf - - - - RCU - read-side - critical section - - - - rcu_cpu_starting() - - - - - ->qsmaskinitnext - Leaf - - +->qsmask &= ~->grpmaskdyntick_save_progress_counter()rcu_implicit_dynticks_qs()LeafRCUread-sidecritical sectionrcu_report_dead()rcu_cleanup_dying_idle_cpu()->qsmaskinitnextLeafRCUread-sidecritical sectionrcu_cpu_starting()->qsmaskinitnextLeaf \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg index 7d6c5f7e505c68..f1a23d136f25da 100644 --- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg +++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg @@ -1,1095 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->qsmask &= ~->grpmask - - - - - Root - - - rcu_report_rnp() - - - - - - - - - - - - Leaf - - - - - - - ->qsmask &= ~->grpmask - - - - - - - Leaf - - - - - - - Leaf - - - - - - - Leaf - ->qsmask &= ~->grpmask - - - - - - - - - - - - - - - - - - note_gp_changes() - rdp->gp_seq - __note_gp_changes() - Leaf - - - - rcu_note_context_switch() - - - - rcu_sched_clock_irq() - - - - rcu_core() - rcu_check_quiescent_state() - rcu__report_qs_rdp()) - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - RCU - read-side - critical section - - - - - - - Wake up - grace-period - kernel thread - - - - rcu_report_qs_rsp() - - +->qsmask &= ~->grpmaskRootrcu_report_rnp()Leaf->qsmask &= ~->grpmaskLeafLeafLeaf->qsmask &= ~->grpmasknote_gp_changes()rdp->gp_seq__note_gp_changes()Leafrcu_note_context_switch()rcu_sched_clock_irq()rcu_core()rcu_check_quiescent_state()rcu__report_qs_rdp())RCUread-sidecritical sectionRCUread-sidecritical sectionRCUread-sidecritical sectionRCUread-sidecritical sectionWake upgrace-periodkernel threadrcu_report_qs_rsp() \ No newline at end of file diff --git a/Documentation/RCU/Design/Memory-Ordering/rcu_node-lock.svg b/Documentation/RCU/Design/Memory-Ordering/rcu_node-lock.svg index 94c96c595aedd8..0fea6793ad6536 100644 --- a/Documentation/RCU/Design/Memory-Ordering/rcu_node-lock.svg +++ b/Documentation/RCU/Design/Memory-Ordering/rcu_node-lock.svg @@ -1,229 +1 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rcu_accelerate_cbs() - - - - - - - rcu_prepare_for_idle() - - +rcu_accelerate_cbs()rcu_prepare_for_idle() \ No newline at end of file diff --git a/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg b/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg index 4b4014fda7703d..983aec557a266a 100644 --- a/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg +++ b/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg @@ -1,374 +1 @@ - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - synchronize_rcu() - - - - - - - WRITE_ONCE(a, 1); - WRITE_ONCE(b, 1); - r1 = READ_ONCE(a); - WRITE_ONCE(c, 1); - r2 = READ_ONCE(b); - r3 = READ_ONCE(c); - thread0() - thread1() - thread2() - - - - rcu_read_lock(); - rcu_read_lock(); - rcu_read_unlock(); - rcu_read_unlock(); - - QS - - QS - - - QS - - +synchronize_rcu()WRITE_ONCE(a, 1);WRITE_ONCE(b, 1);r1 = READ_ONCE(a);WRITE_ONCE(c, 1);r2 = READ_ONCE(b);r3 = READ_ONCE(c);thread0()thread1()thread2()rcu_read_lock();rcu_read_lock();rcu_read_unlock();rcu_read_unlock();QSQSQS \ No newline at end of file diff --git a/Documentation/RCU/Design/Requirements/ReadersPartitionGP1.svg b/Documentation/RCU/Design/Requirements/ReadersPartitionGP1.svg index 48cd1623d4d49c..ab4a1a99037af4 100644 --- a/Documentation/RCU/Design/Requirements/ReadersPartitionGP1.svg +++ b/Documentation/RCU/Design/Requirements/ReadersPartitionGP1.svg @@ -1,639 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - synchronize_rcu() - - - - - - - WRITE_ONCE(a, 1); - WRITE_ONCE(b, 1); - r1 = READ_ONCE(a); - WRITE_ONCE(c, 1); - WRITE_ONCE(d, 1); - r2 = READ_ONCE(c); - thread0() - thread1() - thread2() - - - - rcu_read_lock(); - rcu_read_lock(); - rcu_read_unlock(); - rcu_read_unlock(); - - QS - - QS - - - QS - - - - synchronize_rcu() - - - - - - - r3 = READ_ONCE(d); - WRITE_ONCE(e, 1); - - QS - r4 = READ_ONCE(b); - r5 = READ_ONCE(e); - rcu_read_lock(); - rcu_read_unlock(); - QS - - QS - - QS - - thread3() - thread4() - - +synchronize_rcu()WRITE_ONCE(a, 1);WRITE_ONCE(b, 1);r1 = READ_ONCE(a);WRITE_ONCE(c, 1);WRITE_ONCE(d, 1);r2 = READ_ONCE(c);thread0()thread1()thread2()rcu_read_lock();rcu_read_lock();rcu_read_unlock();rcu_read_unlock();QSQSQSsynchronize_rcu()r3 = READ_ONCE(d);WRITE_ONCE(e, 1);QSr4 = READ_ONCE(b);r5 = READ_ONCE(e);rcu_read_lock();rcu_read_unlock();QSQSQSthread3()thread4() \ No newline at end of file diff --git a/Documentation/admin-guide/blockdev/drbd/DRBD-data-packets.svg b/Documentation/admin-guide/blockdev/drbd/DRBD-data-packets.svg index 48a1e2165fec72..70031cf4b0c108 100644 --- a/Documentation/admin-guide/blockdev/drbd/DRBD-data-packets.svg +++ b/Documentation/admin-guide/blockdev/drbd/DRBD-data-packets.svg @@ -1,459 +1 @@ - - - - - - Master slide - - - - - - - - - RSDataReply - - - - - RSDataRequest - - - w_make_resync_request() - - - receive_DataRequest() - - - drbd_endio_read_sec() - - - w_e_end_rsdata_req() - - - receive_RSDataReply() - - - drbd_endio_write_sec() - - - e_end_resync_block() - - - - - WriteAck - - - got_BlockAck() - - - Resync blocks, 4-32K - - - - - - - WriteAck - - - - - Data - - - drbd_make_request() - - - receive_Data() - - - drbd_endio_write_sec() - - - e_end_block() - - - got_BlockAck() - - - Regular mirrored write, 512-32K - - - w_send_dblock() - - - - - drbd_endio_write_pri() - - - - - - - DataReply - - - - - DataRequest - - - drbd_make_request() - - - receive_DataRequest() - - - drbd_endio_read_sec() - - - w_e_end_data_req() - - - Drawing - - receive_DataReply() - - - - Diskless read, 512-32K - - - w_send_read_req() - - - DRBD 8 data flow - - - - - - al_begin_io() - - - al_complete_io() - - - rs_begin_io() - - - rs_complete_io() - - - rs_begin_io() - - - rs_complete_io() - - +Master slideRSDataReplyRSDataRequestw_make_resync_request()receive_DataRequest()drbd_endio_read_sec()w_e_end_rsdata_req()receive_RSDataReply()drbd_endio_write_sec()e_end_resync_block()WriteAckgot_BlockAck()Resync blocks, 4-32KWriteAckDatadrbd_make_request()receive_Data()drbd_endio_write_sec()e_end_block()got_BlockAck()Regular mirrored write, 512-32Kw_send_dblock()drbd_endio_write_pri()DataReplyDataRequestdrbd_make_request()receive_DataRequest()drbd_endio_read_sec()w_e_end_data_req()Drawingreceive_DataReply()Diskless read, 512-32Kw_send_read_req()DRBD 8 data flowal_begin_io()al_complete_io()rs_begin_io()rs_complete_io()rs_begin_io()rs_complete_io() \ No newline at end of file diff --git a/Documentation/doc-guide/svg_image.svg b/Documentation/doc-guide/svg_image.svg index 5405f85b813788..9ea93355379c8a 100644 --- a/Documentation/doc-guide/svg_image.svg +++ b/Documentation/doc-guide/svg_image.svg @@ -1,10 +1 @@ - - - - - - - - + \ No newline at end of file diff --git a/Documentation/i2c/i2c.svg b/Documentation/i2c/i2c.svg index 5979405ad1c3e1..1aeeeefdff33db 100644 --- a/Documentation/i2c/i2c.svg +++ b/Documentation/i2c/i2c.svg @@ -1,1341 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Luca Ceresoli - - - 2020 - - - - - - - - - - - - - - - I2CMaster - - - I2CSlave - - SCL - SDA - - I2CSlave - - I2CSlave - - - - - - - - - - - - VDD - - +I2CMasterI2CSlaveSCLSDAI2CSlaveI2CSlaveVDD \ No newline at end of file diff --git a/Documentation/input/interactive.svg b/Documentation/input/interactive.svg index a3513709a09bb8..0759a8a6626614 100644 --- a/Documentation/input/interactive.svg +++ b/Documentation/input/interactive.svg @@ -1,24 +1 @@ - - - - - - - - - - - - - - - - - - Dead band - right saturation - left saturation - left coeff ( positive in that case ) - right coeff ( negative in that case ) - center - +Dead bandright saturationleft saturationleft coeff ( positive in that case )right coeff ( negative in that case )center \ No newline at end of file diff --git a/Documentation/input/shape.svg b/Documentation/input/shape.svg index fc0af44db3f79d..9e5691869a8422 100644 --- a/Documentation/input/shape.svg +++ b/Documentation/input/shape.svg @@ -1,39 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Effect duration - Effect magnitude - Fade level - Attack length - Fade length - Attack level - +Effect durationEffect magnitudeFade levelAttack lengthFade lengthAttack level \ No newline at end of file diff --git a/Documentation/logo.gif b/Documentation/logo.gif index 2eae75fecfb965..78d73ddf3541ec 100644 Binary files a/Documentation/logo.gif and b/Documentation/logo.gif differ diff --git a/Documentation/media/typical_media_device.svg b/Documentation/media/typical_media_device.svg index bfd5c7db3b0011..ca862e1435abd6 100644 --- a/Documentation/media/typical_media_device.svg +++ b/Documentation/media/typical_media_device.svg @@ -1,116 +1 @@ - - -image/svg+xmlAudio decoder -Video decoder -Audio encoder -Button Key/IR input logic -EEPROM -Sensor -System Bus -Demux -Conditional Access Module -Video encoder -Radio / Analog TV -Digital TV -PS.: picture is not complete: other blocks may be present -Webcam -Processing blocks -Smartcard -TunerFM/TV -Satellite Equipment Control (SEC) -Demod -I2C Bus (control bus) -Digital TV Frontend - -CPU -PCI, USB, SPI, I2C, ... -Bridge - DMA - +Audio decoderVideo decoderAudio encoderButton Key/IR input logicEEPROMSensorSystem BusDemuxConditional Access ModuleVideo encoderRadio / Analog TVDigital TVPS.: picture is not complete: other blocks may be presentWebcamProcessing blocksSmartcardTunerFM/TVSatellite Equipment Control (SEC)DemodI2C Bus (control bus)Digital TV FrontendCPUPCI, USB, SPI, I2C, ...BridgeDMA \ No newline at end of file diff --git a/Documentation/media/uapi/dvb/dvbstb.svg b/Documentation/media/uapi/dvb/dvbstb.svg index c7672148d6ffa8..cdecc79c3f9541 100644 --- a/Documentation/media/uapi/dvb/dvbstb.svg +++ b/Documentation/media/uapi/dvb/dvbstb.svg @@ -1,43 +1 @@ - - -image/svg+xmlAntena -Frontend -CA -Demux -SEC -Audio -Video -TV -Decoder -Decoder - +AntenaFrontendCADemuxSECAudioVideoTVDecoderDecoder \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/bayer.svg b/Documentation/media/uapi/v4l/bayer.svg index c5bf85103901f7..dfba47dd04177e 100644 --- a/Documentation/media/uapi/v4l/bayer.svg +++ b/Documentation/media/uapi/v4l/bayer.svg @@ -1,56 +1 @@ - - -image/svg+xmlB -G -G -R -BGGR -B -G -G -R -GBRG -B -G -G -R -RGGB -B -G -G -R -GRBG - +BGGRBGGRBGGRGBRGBGGRRGGBBGGRGRBG \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/constraints.svg b/Documentation/media/uapi/v4l/constraints.svg index 08f9f8b0985eb1..aac054a91dad73 100644 --- a/Documentation/media/uapi/v4l/constraints.svg +++ b/Documentation/media/uapi/v4l/constraints.svg @@ -1,37 +1 @@ - - -image/svg+xmlV4L2_SEL_FLAG_GE -ORIGINAL -V4L2_SEL_FLAG_LE - +V4L2_SEL_FLAG_GEORIGINALV4L2_SEL_FLAG_LE \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/crop.svg b/Documentation/media/uapi/v4l/crop.svg index 32d72598d1359c..15e6aa024582c6 100644 --- a/Documentation/media/uapi/v4l/crop.svg +++ b/Documentation/media/uapi/v4l/crop.svg @@ -1,290 +1 @@ - - -image/svg+xmlv4l2_cropcap.bounds -v4l2_cropcap.defrect -v4l2_crop.c -v4l2_format - - +v4l2_cropcap.boundsv4l2_cropcap.defrectv4l2_crop.cv4l2_format \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/fieldseq_bt.svg b/Documentation/media/uapi/v4l/fieldseq_bt.svg index 1dab1cd1b6de93..9709890aee7e04 100644 --- a/Documentation/media/uapi/v4l/fieldseq_bt.svg +++ b/Documentation/media/uapi/v4l/fieldseq_bt.svg @@ -1,2621 +1 @@ - - -image/svg+xmlV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_ALTERNATE -V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMv4l2_buffer.field: -Temporal order, bottom field first transmitted (e.g. M/NTSC) -V4L2_FIELD_TOPV4L2_FIELD_TOP -V4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_BTV4L2_FIELD_INTERLACED_TB (misaligned)V4L2_FIELD_SEQ_BT -V4L2_FIELD_TOP -V4L2_FIELD_BOTTOM -V4L2_FIELD_ALTERNATE -V4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_BT -V4L2_FIELD_INTERLACED_TB (misaligned) -V4L2_FIELD_SEQ_BT -V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOM -v4l2_buffer.field: - +V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_ALTERNATEV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMv4l2_buffer.field:Temporal order, bottom field first transmitted (e.g. M/NTSC)V4L2_FIELD_TOPV4L2_FIELD_TOPV4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_BTV4L2_FIELD_INTERLACED_TB (misaligned)V4L2_FIELD_SEQ_BTV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_ALTERNATEV4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_BTV4L2_FIELD_INTERLACED_TB (misaligned)V4L2_FIELD_SEQ_BTV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMV4L2_FIELD_BOTTOMv4l2_buffer.field: \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/fieldseq_tb.svg b/Documentation/media/uapi/v4l/fieldseq_tb.svg index 041071e43f9bb0..2b4703e5f62820 100644 --- a/Documentation/media/uapi/v4l/fieldseq_tb.svg +++ b/Documentation/media/uapi/v4l/fieldseq_tb.svg @@ -1,2618 +1 @@ - - -image/svg+xmlV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_ALTERNATE -v4l2_buffer.field:V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOM -Temporal order, top field first transmitted (e.g. BG/PAL)V4L2_FIELD_SEQ_TBV4L2_FIELD_INTERLACED_BT (misaligned)V4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_TB -V4L2_FIELD_TOP -V4L2_FIELD_BOTTOM -V4L2_FIELD_ALTERNATE -Temporal order, top field first transmitted (e.g. BG/PAL) -V4L2_FIELD_SEQ_TB -V4L2_FIELD_INTERLACED_BT (misaligned) -V4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_TB -v4l2_buffer.field: -V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOM - +V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_ALTERNATEv4l2_buffer.field:V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOMTemporal order, top field first transmitted (e.g. BG/PAL)V4L2_FIELD_SEQ_TBV4L2_FIELD_INTERLACED_BT (misaligned)V4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_TBV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_ALTERNATETemporal order, top field first transmitted (e.g. BG/PAL)V4L2_FIELD_SEQ_TBV4L2_FIELD_INTERLACED_BT (misaligned)V4L2_FIELD_INTERLACED / V4L2_FIELD_INTERLACED_TBv4l2_buffer.field:V4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOMV4L2_FIELD_TOPV4L2_FIELD_BOTTOM \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/nv12mt.svg b/Documentation/media/uapi/v4l/nv12mt.svg index 067d8fb34ba27d..048b85d4376be3 100644 --- a/Documentation/media/uapi/v4l/nv12mt.svg +++ b/Documentation/media/uapi/v4l/nv12mt.svg @@ -1,477 +1 @@ - - -image/svg+xml0 -6 -1 -7 -2 -4 -3 -5 - +06172435 \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/nv12mt_example.svg b/Documentation/media/uapi/v4l/nv12mt_example.svg index 70c3200fdb3288..e2f238c3159817 100644 --- a/Documentation/media/uapi/v4l/nv12mt_example.svg +++ b/Documentation/media/uapi/v4l/nv12mt_example.svg @@ -1,1616 +1 @@ - - -image/svg+xml0 -6 -1 -7 -9 -8 -2 -4 -3 -5 -11 -10 -12 -18 -13 -19 -21 -20 -14 -16 -15 -17 -23 -22 -24 -26 -25 -27 -29 -28 - +06179824351110121813192120141615172322242625272928 \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/selection.svg b/Documentation/media/uapi/v4l/selection.svg index 59d2bec9b27809..f87c7a508d56d9 100644 --- a/Documentation/media/uapi/v4l/selection.svg +++ b/Documentation/media/uapi/v4l/selection.svg @@ -1,1178 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CROP_DEFAULT - - - - COMPOSE_PADDED - - - COMPOSE_ACTIVE - - - COMPOSE_DEFAULT - - - COMPOSE_PADDED - - - - COMPOSE_BOUNDS - - - - CROP_BOUNDS - - - overscan area - - - CROP_ACTIVE - - - DATA SOURCE - - - - DATA SINK - - - +CROP_DEFAULTCOMPOSE_PADDEDCOMPOSE_ACTIVECOMPOSE_DEFAULTCOMPOSE_PADDEDCOMPOSE_BOUNDSCROP_BOUNDSoverscan areaCROP_ACTIVEDATA SOURCEDATA SINK \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/subdev-image-processing-crop.svg b/Documentation/media/uapi/v4l/subdev-image-processing-crop.svg index 59321e09929d76..a08a0640c66b33 100644 --- a/Documentation/media/uapi/v4l/subdev-image-processing-crop.svg +++ b/Documentation/media/uapi/v4l/subdev-image-processing-crop.svg @@ -1,312 +1 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - sink - crop - selection - - - - - - sink media - bus format - - - source media - bus format - - - - - - - - - - - - - - - - - - - - - pad 1 (source) - - - - - - - - - - - - - pad 0 (sink) - - +sink crop selectionsink media bus formatsource media bus formatpad 1 (source)pad 0 (sink) \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/subdev-image-processing-full.svg b/Documentation/media/uapi/v4l/subdev-image-processing-full.svg index e739c54fbbfb29..45c0e55adb5c10 100644 --- a/Documentation/media/uapi/v4l/subdev-image-processing-full.svg +++ b/Documentation/media/uapi/v4l/subdev-image-processing-full.svg @@ -1,752 +1 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pad 0 (sink) - - - pad 2 (source) - - - - - - - - - - - - - - sink media - bus format - - - - - - - - - - - sink compose - selection (scaling) - - - - - - - source media - bus format - - - - - - - - - - - sink compose - bounds selection - - - - - - - - - - - - - pad 1 (sink) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pad 3 (source) - - - sink - crop - selection - - - source - crop - selection - - - - - - - - - - - - - - - - - - - - - - +pad 0 (sink)pad 2 (source)sink media bus formatsink compose selection (scaling)source media bus formatsink compose bounds selectionpad 1 (sink)pad 3 (source)sink crop selectionsource crop selection \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg b/Documentation/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg index 401d1456958c5a..580d9a082cd9e3 100644 --- a/Documentation/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg +++ b/Documentation/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg @@ -1,550 +1 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - sink - crop - selection - - - - - - sink media - bus format - - - - - - - - - - - sink compose - selection (scaling) - - - - - - - source - crop - selection - - - source media - bus format - - - - - - - - - - - - - - - - - - - - - pad 1 (source) - - - - - - - - - - - - - pad 0 (sink) - - - - - - - - - - - - - - - - - - - - - - pad 2 (source) - - - - - - - - - - - - +sink crop selectionsink media bus formatsink compose selection (scaling)source crop selectionsource media bus formatpad 1 (source)pad 0 (sink)pad 2 (source) \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/vbi_525.svg b/Documentation/media/uapi/v4l/vbi_525.svg index 6cd5def22b1fb7..2df0691da0c8be 100644 --- a/Documentation/media/uapi/v4l/vbi_525.svg +++ b/Documentation/media/uapi/v4l/vbi_525.svg @@ -1,821 +1 @@ - - -image/svg+xml(1) -8745691012113226312622712702672682692722732752742662652632642624923156101112784923156101112785242615252622222232328522286231st field2nd field -874569101211322631262 -271270267268269272273275274266265263264262 -492315610111278 -492315610111278 -524 -261 -525 -262 -22 -22 -23 -23 -285 -22 -286 -23 -1st field -2nd field - +(1)8745691012113226312622712702672682692722732752742662652632642624923156101112784923156101112785242615252622222232328522286231st field2nd field8745691012113226312622712702672682692722732752742662652632642624923156101112784923156101112785242615252622222232328522286231st field2nd field \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/vbi_625.svg b/Documentation/media/uapi/v4l/vbi_625.svg index 7aaae5ec487828..b49f2a867616ea 100644 --- a/Documentation/media/uapi/v4l/vbi_625.svg +++ b/Documentation/media/uapi/v4l/vbi_625.svg @@ -1,870 +1 @@ - - -image/svg+xml1st field145678323123113102214567832625624623223086213096222nd field -(1) -7654323133123113363353213203193183173163153143133123111822233093093103102433723232424 -1st field -1456783231231131022 -1456783262562462322 -308 -621 -309 -622 -2nd field -765432313312311 -336335321320319318317316315314313312311 -182223309 -309 -310 -310 -24 -337 -23 -23 -24 -24 - +1st field145678323123113102214567832625624623223086213096222nd field(1)76543231331231133633532132031931831731631531431331231118222330930931031024337232324241st field145678323123113102214567832625624623223086213096222nd field7654323133123113363353213203193183173163153143133123111822233093093103102433723232424 \ No newline at end of file diff --git a/Documentation/media/uapi/v4l/vbi_hsync.svg b/Documentation/media/uapi/v4l/vbi_hsync.svg index f8e979ada7e330..ad7034cd83fdbd 100644 --- a/Documentation/media/uapi/v4l/vbi_hsync.svg +++ b/Documentation/media/uapi/v4l/vbi_hsync.svg @@ -1,321 +1 @@ - - -image/svg+xmlBlack LevelSync LevelWhite Level -offset -Line synchr. pulseLine blanking -Line synchr. pulse -Line blanking -Black Level -Sync Level -White Level - +Black LevelSync LevelWhite LeveloffsetLine synchr. pulseLine blankingLine synchr. pulseLine blankingBlack LevelSync LevelWhite Level \ No newline at end of file diff --git a/Documentation/media/v4l-drivers/ipu3_rcb.svg b/Documentation/media/v4l-drivers/ipu3_rcb.svg index d878421b42a013..03911f6707889a 100644 --- a/Documentation/media/v4l-drivers/ipu3_rcb.svg +++ b/Documentation/media/v4l-drivers/ipu3_rcb.svg @@ -1,331 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/Documentation/networking/tls-offload-layers.svg b/Documentation/networking/tls-offload-layers.svg index cf72f05dbb2143..f880231752a380 100644 --- a/Documentation/networking/tls-offload-layers.svg +++ b/Documentation/networking/tls-offload-layers.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/Documentation/networking/tls-offload-reorder-bad.svg b/Documentation/networking/tls-offload-reorder-bad.svg index d107aaf0f71ef9..9924e81085de51 100644 --- a/Documentation/networking/tls-offload-reorder-bad.svg +++ b/Documentation/networking/tls-offload-reorder-bad.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/Documentation/networking/tls-offload-reorder-good.svg b/Documentation/networking/tls-offload-reorder-good.svg index 10e17d91f70c14..7a231d0c1dec72 100644 --- a/Documentation/networking/tls-offload-reorder-good.svg +++ b/Documentation/networking/tls-offload-reorder-good.svg @@ -1 +1 @@ - + \ No newline at end of file