aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/mic/mic_overview.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/mic/mic_overview.txt')
-rw-r--r--Documentation/mic/mic_overview.txt67
1 files changed, 41 insertions, 26 deletions
diff --git a/Documentation/mic/mic_overview.txt b/Documentation/mic/mic_overview.txt
index b41929224804..77c541802ad9 100644
--- a/Documentation/mic/mic_overview.txt
+++ b/Documentation/mic/mic_overview.txt
@@ -17,35 +17,50 @@ for applications. A key benefit of our solution is that it leverages
17the standard virtio framework for network, disk and console devices, 17the standard virtio framework for network, disk and console devices,
18though in our case the virtio framework is used across a PCIe bus. 18though in our case the virtio framework is used across a PCIe bus.
19 19
20MIC PCIe card has a dma controller with 8 channels. These channels are
21shared between the host s/w and the card s/w. 0 to 3 are used by host
22and 4 to 7 by card. As the dma device doesn't show up as PCIe device,
23a virtual bus called mic bus is created and virtual dma devices are
24created on it by the host/card drivers. On host the channels are private
25and used only by the host driver to transfer data for the virtio devices.
26
20Here is a block diagram of the various components described above. The 27Here is a block diagram of the various components described above. The
21virtio backends are situated on the host rather than the card given better 28virtio backends are situated on the host rather than the card given better
22single threaded performance for the host compared to MIC, the ability of 29single threaded performance for the host compared to MIC, the ability of
23the host to initiate DMA's to/from the card using the MIC DMA engine and 30the host to initiate DMA's to/from the card using the MIC DMA engine and
24the fact that the virtio block storage backend can only be on the host. 31the fact that the virtio block storage backend can only be on the host.
25 32
26 | 33 |
27 +----------+ | +----------+ 34 +----------+ | +----------+
28 | Card OS | | | Host OS | 35 | Card OS | | | Host OS |
29 +----------+ | +----------+ 36 +----------+ | +----------+
30 | 37 |
31+-------+ +--------+ +------+ | +---------+ +--------+ +--------+ 38 +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
32| Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio | 39 | Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio |
33| Net | |Console | |Block | | |Net | |Console | |Block | 40 | Net | |Console | |Block | | |Net | |Console | |Block |
34| Driver| |Driver | |Driver| | |backend | |backend | |backend | 41 | Driver| |Driver | |Driver| | |backend | |backend | |backend |
35+-------+ +--------+ +------+ | +---------+ +--------+ +--------+ 42 +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
36 | | | | | | | 43 | | | | | | |
37 | | | |User | | | 44 | | | |User | | |
38 | | | |------|------------|---------|------- 45 | | | |------|------------|---------|-------
39 +-------------------+ |Kernel +--------------------------+ 46 +-------------------+ |Kernel +--------------------------+
40 | | | Virtio over PCIe IOCTLs | 47 | | | Virtio over PCIe IOCTLs |
41 | | +--------------------------+ 48 | | +--------------------------+
42 +--------------+ | | 49+-----------+ | | | +-----------+
43 |Intel MIC | | +---------------+ 50| MIC DMA | | | | | MIC DMA |
44 |Card Driver | | |Intel MIC | 51| Driver | | | | | Driver |
45 +--------------+ | |Host Driver | 52+-----------+ | | | +-----------+
46 | | +---------------+ 53 | | | | |
47 | | | 54+---------------+ | | | +----------------+
48 +-------------------------------------------------------------+ 55|MIC virtual Bus| | | | |MIC virtual Bus |
49 | | 56+---------------+ | | | +----------------+
50 | PCIe Bus | 57 | | | | |
51 +-------------------------------------------------------------+ 58 | +--------------+ | +---------------+ |
59 | |Intel MIC | | |Intel MIC | |
60 +---|Card Driver | | |Host Driver | |
61 +--------------+ | +---------------+-----+
62 | | |
63 +-------------------------------------------------------------+
64 | |
65 | PCIe Bus |
66 +-------------------------------------------------------------+