Oracle DAX Driver Landing In Linux 4.16 For SPARC Co-Processor
DAX is a co-processor found on the SPARC M7 processor where it's known as DAX1 or there's DAX2 with the SPARC M8. This co-processor offers access to the main processor's L3 caches and physical memory.
The DAX driver itself doesn't know/do much but depends upon a user-space library for feeding the co-processor instructions. From an earlier version of the DAX driver patch series, "[The DAX co-processor] can perform several operations on data streams with various input and output formats. This driver provides a transport mechanism and has limited knowledge of the various opcodes and data formats. A user space library provides high level services and translates these into low level commands which are then passed into the driver and subsequently the hypervisor and the coprocessor. The library is the recommended way for applications to use the coprocessor, and the driver interface is not intended for general use."
DAX in Oracle's context is short for the Data Analytics Accelerator. From Oracle's documentation, "DAX is a specialized set of instructions that can run very selective functionality - Scan, Extract, Select and Translate- at blindingly fast speeds. The introduction of these functions is a novel approach to chip design, reminiscent of how floating point instructions were introduced in the '80s. These instructions were originally intended to speed up Oracle Database and they are indeed used there to run an SQL query in parallel on millions of elements at once (thus yielding unbelievable query rates of 170 Billion Rows/second). But they can apply equally well in the analytic world of Big Data and Machine Learning, where similar core functions can be greatly accelerated."
Besides the SPARC64 DAX addition, the rest of the pull request is relatively basic.