aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/mic/mic_overview.txt
diff options
context:
space:
mode:
authorSiva Yerramreddy <yshivakrishna@gmail.com>2014-07-11 17:04:19 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-07-11 21:27:56 -0400
commita8035843770f34392bbadf0ba81ffa31ecb1209b (patch)
treeac36ee22d5ccc67e3d3d2fcaa416c07021deae64 /Documentation/mic/mic_overview.txt
parentddddda9bc41c9214731def8665ad92414356d685 (diff)
misc: mic: Add mic bus and dma driver documentation
Added an overview of mic bus and dma driver. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Nikhil Rao <nikhil.rao@intel.com> Reviewed-by: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Siva Yerramreddy <yshivakrishna@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 +-------------------------------------------------------------+