Home
last modified time | relevance | path

Searched +full:cpu +full:- +full:viewed (Results 1 – 25 of 83) sorted by relevance

1234

/OK3568_Linux_fs/kernel/Documentation/RCU/
H A DRTFP.txt4 This document describes RCU-related publications, and is followed by
19 with short-lived threads, such as the K42 research operating system.
20 However, Linux has long-lived tasks, so more is needed.
23 serialization, which is an RCU-like mechanism that relies on the presence
27 that these overheads were not so expensive in the mid-80s. Nonetheless,
28 passive serialization appears to be the first deferred-destruction
30 has lapsed, so this approach may be used in non-GPL software, if desired.
34 In 1987, Rashid et al. described lazy TLB-flush [RichardRashid87a].
36 this paper helped inspire the update-side batching used in the later
38 a description of Argus that noted that use of out-of-date values can
[all …]
/OK3568_Linux_fs/kernel/arch/arm/include/asm/
H A Ddma-mapping.h1 /* SPDX-License-Identifier: GPL-2.0 */
24 * arm_dma_alloc - allocate consistent memory for DMA
25 * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
27 * @handle: bus-specific DMA address
31 * allocates pages, and will return the CPU-viewed address, and sets @handle
32 * to be the device-viewed address.
38 * arm_dma_free - free memory allocated by arm_dma_alloc
39 * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
41 * @cpu_addr: CPU-view address returned from dma_alloc_coherent
42 * @handle: device-view address returned from dma_alloc_coherent
[all …]
/OK3568_Linux_fs/kernel/tools/perf/Documentation/
H A Dperf-timechart.txt1 perf-timechart(1)
5 ----
6 perf-timechart - Tool to visualize total system behavior during a workload
9 --------
14 -----------
19 and CPU events (task switches, running times, CPU power states, etc),
20 but it's possible to record IO (disk, network) activity using -I argument.
23 that can be viewed with popular SVG viewers such as 'Inkscape'. Depending
24 on the events in the perf.data file, timechart will contain scheduler/cpu
34 -----------------
[all …]
/OK3568_Linux_fs/kernel/Documentation/vm/
H A Dnuma.rst19 Each of the 'cells' may be viewed as an SMP [symmetric multi-processor] subset
20 of the system--although some components necessary for a stand-alone SMP system
22 connected together with some sort of system interconnect--e.g., a crossbar or
23 point-to-point link are common types of NUMA system interconnects. Both of
29 to and accessible from any CPU attached to any cell and cache coherency
33 away the cell containing the CPU or IO bus making the memory access is from the
43 [cache misses] to be to "local" memory--memory on the same cell, if any--or
53 "closer" nodes--nodes that map to closer cells--will generally experience
65 the existing nodes--or the system memory for non-NUMA platforms--into multiple
68 application features on non-NUMA platforms, and as a sort of memory resource
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/bus/
H A Dsocionext,uniphier-system-bus.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/bus/socionext,uniphier-system-bus.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 The UniPhier System Bus is an external bus that connects on-board devices to
11 the UniPhier SoC. It is a simple (semi-)parallel bus with address, data, and
16 within each bank to the CPU-viewed address. The needed setup includes the
21 - Masahiro Yamada <yamada.masahiro@socionext.com>
25 const: socionext,uniphier-system-bus
30 "#address-cells":
[all …]
/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/
H A Drk3328-a1.dts1 // SPDX-License-Identifier: (GPL-2.0-only OR MIT)
2 // Copyright (c) 2017-2019 Arm Ltd.
4 /dts-v1/;
9 compatible = "azw,beelink-a1", "rockchip,rk3328";
12 * UART pins, as viewed with bottom of case removed:
15 * /-------
16 * L / o <- Gnd
17 * e / o <-- Rx
18 * f / o <--- Tx
19 * t / o <---- +3.3v
[all …]
/OK3568_Linux_fs/kernel/lib/
H A Dpercpu-refcount.c1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/percpu-refcount.h>
12 * don't try to detect the ref hitting 0 - which means that get/put can just
14 * particular cpu can (and will) wrap - this is fine, when we go to shutdown the
23 * the ref hitting 0 on every put - this would require global synchronization
36 #define PERCPU_COUNT_BIAS (1LU << (BITS_PER_LONG - 1))
44 (ref->percpu_count_ptr & ~__PERCPU_REF_ATOMIC_DEAD); in percpu_count_ptr()
48 * percpu_ref_init - initialize a percpu refcount
59 * Note that @release must not sleep - it may potentially be called from RCU
70 ref->percpu_count_ptr = (unsigned long) in percpu_ref_init()
[all …]
/OK3568_Linux_fs/kernel/Documentation/admin-guide/mm/
H A Dnuma_memory_policy.rst12 supported platforms with Non-Uniform Memory Access architectures since 2.4.?.
18 (``Documentation/admin-guide/cgroup-v1/cpusets.rst``)
21 programming interface that a NUMA-aware application can take advantage of. When
30 ------------------------
43 not to overload the initial boot node with boot-time
47 this is an optional, per-task policy. When defined for a
63 In a multi-threaded task, task policies apply only to the thread
100 mapping-- i.e., at Copy-On-Write.
103 virtual address space--a.k.a. threads--independent of when
108 are NOT inheritable across exec(). Thus, only NUMA-aware
[all …]
/OK3568_Linux_fs/kernel/Documentation/
H A Dmemory-barriers.txt19 documentation at tools/memory-model/. Nevertheless, even this memory
20 model should be viewed as the collective opinion of its maintainers rather
37 Note also that it is possible that a barrier may be a no-op for an
48 - Device operations.
49 - Guarantees.
53 - Varieties of memory barrier.
54 - What may not be assumed about memory barriers?
55 - Data dependency barriers (historical).
56 - Control dependencies.
57 - SMP barrier pairing.
[all …]
/OK3568_Linux_fs/kernel/arch/arm/probes/
H A Ddecode.h1 /* SPDX-License-Identifier: GPL-2.0-only */
32 /* We need a run-time check to determine str_pc_offset */
41 long cpsr = regs->ARM_cpsr; in bx_write_pc()
49 regs->ARM_cpsr = cpsr; in bx_write_pc()
50 regs->ARM_pc = pcv; in bx_write_pc()
62 /* We need run-time testing to determine if load_write_pc() should interwork. */
73 regs->ARM_pc = pcv; in load_write_pc()
90 /* We could be an ARMv6 binary on ARMv7 hardware so we need a run-time check. */
101 regs->ARM_pc = pcv; in alu_write_pc()
118 * viewed as an array of these and declared like:
[all …]
/OK3568_Linux_fs/kernel/drivers/media/pci/cx18/
H A Dcx23418.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
11 #include <media/drv-intf/cx2341x.h>
19 IN[0] - Task ID. This is one of the XPU_CMD_MASK_YYY where XPU is
21 OUT[0] - Task handle. This handle is passed along with commands to
23 ReturnCode - One of the ERR_SYS_... */
27 IN[0] - Task handle. Hanlde of the task to destroy
28 ReturnCode - One of the ERR_SYS_... */
31 /* All commands for CPU have the following mask set */
49 IN[0] - audio parameters (same as CX18_CPU_SET_AUDIO_PARAMETERS?)
50 IN[1] - caller buffer address, or 0
[all …]
/OK3568_Linux_fs/kernel/Documentation/networking/device_drivers/ethernet/aquantia/
H A Datlantic.rst1 .. SPDX-License-Identifier: GPL-2.0
8 For the aQuantia Multi-Gigabit PCI Express Family of Ethernet Adapters
12 - Identifying Your Adapter
13 - Configuration
14 - Supported ethtool options
15 - Command Line Parameters
16 - Config file parameters
17 - Support
18 - License
23 The driver in this release is compatible with AQC-100, AQC-107, AQC-108
[all …]
/OK3568_Linux_fs/u-boot/drivers/dma/
H A Dapbh_dma.c10 * SPDX-License-Identifier: GPL-2.0+
20 #include <asm/arch/imx-regs.h>
22 #include <asm/mach-imx/dma.h>
23 #include <asm/mach-imx/regs-apbh.h>
35 return -EINVAL; in mxs_dma_validate_chan()
38 if (!(pchan->flags & MXS_DMA_FLAGS_ALLOCATED)) in mxs_dma_validate_chan()
39 return -EINVAL; in mxs_dma_validate_chan()
49 return desc->address + offsetof(struct mxs_dma_desc, cmd); in mxs_dma_cmd_address()
58 * so it must be be viewed as immediately stale.
77 tmp = readl(&apbh_regs->ch[channel].hw_apbh_ch_sema); in mxs_dma_read_semaphore()
[all …]
/OK3568_Linux_fs/kernel/Documentation/driver-api/usb/
H A Dgadget.rst11 This document presents a Linux-USB "Gadget" kernel mode API, for use
17 - Supports USB 2.0, for high speed devices which can stream data at
20 - Handles devices with dozens of endpoints just as well as ones with
21 just two fixed-function ones. Gadget drivers can be written so
24 - Flexible enough to expose more complex USB device capabilities such
28 - USB "On-The-Go" (OTG) support, in conjunction with updates to the
29 Linux-USB host side.
31 - Sharing data structures and API models with the Linux-USB host side
32 API. This helps the OTG support, and looks forward to more-symmetric
36 - Minimalist, so it's easier to support new device controller hardware.
[all …]
/OK3568_Linux_fs/external/linux-rga/docs/
H A DRockchip_FAQ_RGA_EN.md3 File No.:RK-PC-YF-404
7 Release Date: 2023-06-28
9 Security Level: □Top-Secret □Secret □Internal ■Public
13 …ITY, COMPLETENESS,MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE OR NON-INFRINGEMENT OF ANY R…
27 Website: [www.rock-chips.com](http://www.rock-chips.com)
29 Customer service Tel: +86-4007-700-590
31 Customer service Fax: +86-591-83951833
33 Customer service e-Mail: [fae@rock-chips.com](mailto:fae@rock-chips.com)
35 ---
41 - Technical support engineers
[all …]
/OK3568_Linux_fs/kernel/Documentation/gpu/
H A Di915.rst17 ------------------------
19 .. kernel-doc:: drivers/gpu/drm/i915/intel_runtime_pm.c
22 .. kernel-doc:: drivers/gpu/drm/i915/intel_runtime_pm.c
25 .. kernel-doc:: drivers/gpu/drm/i915/intel_uncore.c
29 ------------------
31 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c
34 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c
37 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c
40 .. kernel-doc:: drivers/gpu/drm/i915/i915_irq.c
43 Intel GVT-g Guest Support(vGPU)
[all …]
/OK3568_Linux_fs/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/share/doc/gdb/
H A DTarget-Description-Format.html1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt…
3 <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
9 Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
10 and with the Back-Cover Texts as in (a) below.
12 (a) The FSF's Back-Cover Text is: "You are free to copy and modify
14 developing GNU and promoting software freedom." -->
15 <!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
21 <meta name="resource-type" content="document">
24 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
26 <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
[all …]
/OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/share/doc/gdb/
H A DTarget-Description-Format.html1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt…
3 <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
9 Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
10 and with the Back-Cover Texts as in (a) below.
12 (a) The FSF's Back-Cover Text is: "You are free to copy and modify
14 developing GNU and promoting software freedom." -->
15 <!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
21 <meta name="resource-type" content="document">
24 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
26 <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
[all …]
/OK3568_Linux_fs/external/rknpu2/runtime/RK356X/Linux/librknn_api/armhf/
H A Dlibrknn_api.so__gmon_start__ _fini _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable __cxa_finalize _Jv_RegisterClasses __tls_get_addr _ZZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv _ZSt15__once_callable _ZTVNSt13__future_base13_State_baseV2E __gxx_personality_v0 _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt14_Function_base13_Base_managerINSt13__future_base12_Task_setterISt10unique_ptrINS1_7_ResultIiEENS1_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESE_iEEEvEEiEEE10_M_managerERSt9_Any_dataRKSO_St18_Manager_operation _ZTINSt13__future_base12_Task_setterISt10unique_ptrINS_7_ResultIiEENS_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESC_iEEEvEEiEE _ZdlPv _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev ...
HDlibrknnrt.so__gmon_start__ _fini _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable __cxa_finalize _Jv_RegisterClasses __tls_get_addr _ZZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv _ZSt15__once_callable _ZTVNSt13__future_base13_State_baseV2E __gxx_personality_v0 _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt14_Function_base13_Base_managerINSt13__future_base12_Task_setterISt10unique_ptrINS1_7_ResultIiEENS1_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESE_iEEEvEEiEEE10_M_managerERSt9_Any_dataRKSO_St18_Manager_operation _ZTINSt13__future_base12_Task_setterISt10unique_ptrINS_7_ResultIiEENS_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESC_iEEEvEEiEE _ZdlPv _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev ...
/OK3568_Linux_fs/external/rknpu2/runtime/RK3588/Linux/librknn_api/armhf/
H A Dlibrknn_api.so__gmon_start__ _fini _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable __cxa_finalize _Jv_RegisterClasses __tls_get_addr _ZZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv _ZSt15__once_callable _ZTVNSt13__future_base13_State_baseV2E __gxx_personality_v0 _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt14_Function_base13_Base_managerINSt13__future_base12_Task_setterISt10unique_ptrINS1_7_ResultIiEENS1_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESE_iEEEvEEiEEE10_M_managerERSt9_Any_dataRKSO_St18_Manager_operation _ZTINSt13__future_base12_Task_setterISt10unique_ptrINS_7_ResultIiEENS_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESC_iEEEvEEiEE _ZdlPv _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev ...
HDlibrknnrt.so__gmon_start__ _fini _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable __cxa_finalize _Jv_RegisterClasses __tls_get_addr _ZZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv _ZSt15__once_callable _ZTVNSt13__future_base13_State_baseV2E __gxx_personality_v0 _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_Task_stateISt5_BindIFPFiPN4rknn12RKNNExecutorEiES5_iEESaIiEFivEEESA_LN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev _ZNSt14_Function_base13_Base_managerINSt13__future_base12_Task_setterISt10unique_ptrINS1_7_ResultIiEENS1_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESE_iEEEvEEiEEE10_M_managerERSt9_Any_dataRKSO_St18_Manager_operation _ZTINSt13__future_base12_Task_setterISt10unique_ptrINS_7_ResultIiEENS_12_Result_base8_DeleterEESt12_Bind_simpleIFSt17reference_wrapperISt5_BindIFPFiPN4rknn12RKNNExecutorEiESC_iEEEvEEiEE _ZdlPv _ZNSt23_Sp_counted_ptr_inplaceISt13packaged_taskIFivEESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev ...
/OK3568_Linux_fs/kernel/Documentation/driver-api/nvdimm/
H A Dnvdimm.rst2 LIBNVDIMM: Non-Volatile Devices
5 libnvdimm - kernel / libndctl - userspace helper library
7 linux-nvdimm@lists.01.org
20 BLK-REGIONs, PMEM-REGIONs, Atomic Sectors, and DAX
52 A system-physical-address range where writes are persistent. A
59 performance benefit of interleaving, but enables DIMM-bounded failure
63 DIMM Physical Address, is a DIMM-relative offset. With one DIMM in
64 the system there would be a 1:1 system-physical-address:DPA association.
67 system-physical-address. BLK capacity always has a 1:1 relationship
68 with a single-DIMM's DPA range.
[all …]
/OK3568_Linux_fs/kernel/Documentation/admin-guide/
H A Dcgroup-v2.rst9 conventions of cgroup v2. It describes all userland-visible aspects
12 v1 is available under :ref:`Documentation/admin-guide/cgroup-v1/index.rst <cgroup-v1>`.
17 1-1. Terminology
18 1-2. What is cgroup?
20 2-1. Mounting
21 2-2. Organizing Processes and Threads
22 2-2-1. Processes
23 2-2-2. Threads
24 2-3. [Un]populated Notification
25 2-4. Controlling Controllers
[all …]
/OK3568_Linux_fs/kernel/Documentation/filesystems/caching/
H A Dfscache.rst1 .. SPDX-License-Identifier: GPL-2.0
13 FS-Cache mediates between cache backends (such as CacheFS) and network
16 +---------+
17 | | +--------------+
18 | NFS |--+ | |
19 | | | +-->| CacheFS |
20 +---------+ | +----------+ | | /dev/hda5 |
21 | | | | +--------------+
22 +---------+ +-->| | |
23 | | | |--+
[all …]

1234