Intel® Data Streaming Accelerator User Guide
Ref#: 353216-003US 3
Table of Contents
Notices & Disclaimers ........................................................................................................................................................ 1
Revision History .................................................................................................................................................................. 2
Table of Contents ............................................................................................................................................................... 3
Tables ..................................................................................................................................................................... 4
Figures ..................................................................................................................................................................... 4
Examples ..................................................................................................................................................................... 4
Chapter 1 Introduction ................................................................................................................................................. 9
1.1 Definitions ............................................................................................................................................................. 9
1.2 Document Organization ...................................................................................................................................... 12
Chapter 2 Platform Configuration .............................................................................................................................. 13
2.1 Basic Input/Output System (BIOS) Configuration ............................................................................................... 13
2.2 Linux Kernel Configuration .................................................................................................................................. 13
2.2.1 Intel® IOMMU Driver ................................................................................................................................ 13
2.2.2 Intel® DSA Driver ...................................................................................................................................... 13
2.3 Non-SVM Configuration ..................................................................................................................................... 15
Chapter 3 Intel® DSA Configuration ............................................................................................................................ 14
3.1 Intel® DSA Device Enumeration .......................................................................................................................... 14
3.1.1 PCI Information ........................................................................................................................................ 14
3.1.2 sysfs Directories ....................................................................................................................................... 17
3.2 Device Configuration and Control Interfaces ..................................................................................................... 18
3.2.1 Intel® DSA WQs/Engines/Groups ............................................................................................................. 18
3.2.2 Intel® DSA Read Buffer Controls .............................................................................................................. 18
3.2.3 Intel® DSA Traffic Class Configuration ...................................................................................................... 19
3.2.4 Linux Interfaces ................................................................................................................................................... 20
3.2.5 accel-config .......................................................................................................................................................... 20
3
.2.6 WQ Device File Permissions ................................................................................................................................ 21
Chapter 4 Intel® DSA Programming ............................................................................................................................ 22
4.1 Sample Linux Application .................................................................................................................................... 22
4.1.1 Descriptor Preparation ............................................................................................................................. 23
4.1.2 Descriptor Submission Portal Mapping .................................................................................................... 23
4.1.3 Descriptor Submission .............................................................................................................................. 24
4.1.4 Completion Polling ................................................................................................................................... 24
4.1.5 Partial Completion Handling .................................................................................................................... 25
4.2 Programming Considerations ............................................................................................................................. 26
4.2.1 Ordering/Fencing ..................................................................................................................................... 26
4.2.2 Destination Address in Persistent Memory .............................................................................................. 26
4.3 Library Support for Intel® DSA ............................................................................................................................ 27
Chapter 5 Intel® DSA Performance Micros ................................................................................................................. 28
Chapter 6 Intel® DSA Performance Counter References ............................................................................................ 29
Chapter 7 Steps for Using ACCEL-CONFIG: Examples ................................................................................................. 30
Chapter 8 C Functions for GCC Versions Without MOVDIRB64, ENQCMD, UMWAIT, or UMONITOR Support .......... 31
Chapter 9 Sample C Program ...................................................................................................................................... 33
9.1 Steps .................................................................................................................................................................... 33
9.2 The Program ........................................................................................................................................................ 33
Chapter 10 Actions for Continuation After a Page Fault............................................................................................... 38
Chapter 11 Dedicated and Shared WQ Comparison Descriptions ................................................................................ 40
Chapter 12 Debug Aids for Configuration Errors .......................................................................................................... 41