- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a few questions regarding the batching mechanism in DSA:
Can batching in DSA handle non-contiguous descriptors in the virtual address space, similar to how scatter-gather lists work? Or does it only support submission of contiguous descriptors in the virtual address space?
- I'm wondering if batch processing simply supports submitting multiple descriptors in batches and processing them separately, or if they also support batch processing?
Is batching supported in the kernel when using DSA? If so, can i get an example or how to use it? If batching is supported only at the user level, I would appreciate it if you could provide user level example code.
I'm using linux kernel version 6.6.47 and I'd appreciate any insights or guidance on this topic. Thank you!
- Tags:
- DSA
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. A DSA batch descriptor allows you to specify a pointer to a list of descriptors in memory (descriptor list) which are then fetched and executed. So each entry in the list is a complete descriptor and can specify its own set of addresses, flags and operation to perform etc. There is no requirement about address contiguity between different descriptors within a list. So yes, you can do SG type operations using a batch, but you incur the overhead of a full descriptor creation (software) and consumption (hardware).
2. I think I may have answered this query above. If not, please restate your question.
3. While the hardware allows batch descriptors to be used from the kernel, this will need to be supported by the idxd driver for use through the dmaengine API. This is currently not supported in the upstream driver.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. A DSA batch descriptor allows you to specify a pointer to a list of descriptors in memory (descriptor list) which are then fetched and executed. So each entry in the list is a complete descriptor and can specify its own set of addresses, flags and operation to perform etc. There is no requirement about address contiguity between different descriptors within a list. So yes, you can do SG type operations using a batch, but you incur the overhead of a full descriptor creation (software) and consumption (hardware).
2. I think I may have answered this query above. If not, please restate your question.
3. While the hardware allows batch descriptors to be used from the kernel, this will need to be supported by the idxd driver for use through the dmaengine API. This is currently not supported in the upstream driver.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page