Hello ,
In freeBSD 13.0, while running IO with blocksize 1MB observed corruption in SGL received.
Ran IO with FIO (version 3.28)IO tool.
Command used :
While running IO with 1MB block size, observed EINPROGRESS status for bus_dmamap_load_ccb. After receiving the EINPROGRESS status for bus_dmamap_load_ccb(),
the callback function is called . Then observed corruption in the SGL received.
Buffer size of IO was 0x100000 (1.04MB) but the total mapped SGL length was 0x3002c0 (3.14MB).
When tried in FreeBSD 12.2, the maximum block size allowed to run in fio is 128k.
If we increase the block size we are getting the below error.
Is there any issue in SGL handling with FreeBSD 13.0 ?
Can anyone help ?
In freeBSD 13.0, while running IO with blocksize 1MB observed corruption in SGL received.
Ran IO with FIO (version 3.28)IO tool.
Command used :
fio --filename=/dev/da0: -direct=1 -iodepth=32 -ioengine=posixaio -rw=randrw -bs=1024k -numjobs=8 -runtime=30 -group_reporting -name=stress
While running IO with 1MB block size, observed EINPROGRESS status for bus_dmamap_load_ccb. After receiving the EINPROGRESS status for bus_dmamap_load_ccb(),
the callback function is called . Then observed corruption in the SGL received.
Buffer size of IO was 0x100000 (1.04MB) but the total mapped SGL length was 0x3002c0 (3.14MB).
When tried in FreeBSD 12.2, the maximum block size allowed to run in fio is 128k.
If we increase the block size we are getting the below error.
Code:
root@freebsd12:~ # fio --filename=/dev/da0: -direct=1 -iodepth=32 -ioengine=posixaio -rw=randrw -bs=129k -numjobs=8 -runtime=30 -group_reporting -name=stress
stress: (g=0): rw=randrw, bs=(R) 129KiB-129KiB, (W) 129KiB-129KiB, (T) 129KiB-129KiB, ioengine=posixaio, iodepth=32
...
fio-3.28
Starting 8 processes
fio: pid=1991, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1985, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1986, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1987, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1990, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1988, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1989, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
fio: pid=1984, err=45/file:engines/posixaio.c:180, func=xfer, error=Operation not supported
stress: (groupid=0, jobs=8): err=45 (file:engines/posixaio.c:180, func=xfer, error=Operation not supported): pid=1984: Tue Oct 5 14:11:05 2021
cpu : usr=16.13%, sys=22.58%, ctx=44, majf=0, minf=48
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=50.0%, 4=50.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=2,6,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
Is there any issue in SGL handling with FreeBSD 13.0 ?
Can anyone help ?