[SPDK] [Release] 21.10: DMA lib, Async NVMe driver, Container scripts

Zawadzki, Tomasz <tomasz.zawadzki at intel.com> Fri, 29 Oct 2021 07:17:51 +0000
Newsgroups dev.linux.lists.spdk
Message-ID <MN2PR11MB42221156CA59147E2E89E63AEE879@MN2PR11MB4222.namprd11.prod.outlook.com>
On behalf of the SPDK community I'm pleased to announce the release of SPDK 21.10!

This release contains the following new features:

- DMA library: Added DMA library providing the necessary infrastructure for handling systems and devices with multiple memory domains to perform DMA transfers between them.
- Fully asynchronous NVMe driver: Removed NVMe driver inline polling during controller initialization and reset. This enables use of SPDK in cluster solutions.
- SPDK container scripts: Added set of scripts to serve as an example of how SPDK can be encapsulated into docker container images. Please see spdk/docker/README.md for details.
- Scheduler API and improvements: API for implementing schedulers and governors plugins has been made public. Please see include/spdk/scheduler.h for details. Additionally improved dynamic_scheduler by favoring performance over power saving for cases with multiple threads with low activity.
- Trace parser library: Added trace parser library that parse traces recorded by an SPDK application. It includes merging traces from multiple cores, sorting them by their timestamp and constructing trace entries spanning across multiple buffers. 
- IDXD perf tool: Added a standalone tool for measuring IDXD performance. 

The full changelog for this release is available at:
https://github.com/spdk/spdk/releases/tag/v21.10

This release contains 619 commits from 47 authors with over 38k lines of code changed.

We'd especially like to recognize all of our first time contributors:

	Andreas Economides
	Denis Nagorny
	Liu Qing
	Sydney Vanda
	Tan Long
	Tomasz Bielecki
	Tomasz Rochumski
	Xin Huang
	Zhao Shushu

Thanks to everyone for your contributions, participation, and effort!

Thanks,
Tomek