Skip to content

Commit

Permalink
EDMA[Known Issue]: (aws#317)
Browse files Browse the repository at this point in the history
1. Update the release notes with the known issue.
2. Update the tests according to the above issue.
  • Loading branch information
AWSlevinale authored and AWSwinefred committed Apr 21, 2017
1 parent 279cfdc commit 324e9aa
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
13 changes: 9 additions & 4 deletions sdk/linux_kernel_drivers/edma/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
# EDMA Driver Release notes
# EDMA Driver Release Notes

This is first release of the EDMA driver. This driver is still under development and performance may not be achieving maximal potential.
This is the first release of the EDMA driver. This driver is still under development and performance may not be achieving maximal potential.

This is a Linux kernel driver only

## Supported Distributions
- Amazon Linux
- Centos 7.x
- More ditributions will be tested later.
- More distributions will be tested later.

## Known Issues
- Reads, in rare cases, might lead to a software hang. To avoid the hang, please do one of the following:
- The address being read is 4K aligned. i.e. bits 0:11 are 0. Any read size is supported.
- Reading from an address that is not 4K aligned should not cross to the next 4K page.

## Expected performance
- For smaller block size write performance is around 10MByte/s, read performance is around 150MByte/s
- For a block size of 64KByte the expected performance is around 80MByte/s for write and 1GByte/s for read.
- For a block size of 64KByte, the expected performance is around 80MByte/s for write and 1GByte/s for read.
4 changes: 4 additions & 0 deletions sdk/linux_kernel_drivers/edma/unit-test/mt_read_write.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ void* doRead(void *arg)

read_size = can_read == 1 ? 1: rand() % can_read;

//check if we cross a 4k page
if((offset % PAGE_SIZE + read_size) > PAGE_SIZE)
read_size = PAGE_SIZE - offset % PAGE_SIZE;

ret = lseek(fd, offset, SEEK_SET);
if(ret < 0)
exit(3);
Expand Down

0 comments on commit 324e9aa

Please sign in to comment.