Re: svn commit: r343125 - head/sys/dev/ioat

2019-01-17 Thread Conrad Meyer
On Thu, Jan 17, 2019 at 4:12 PM Kevin Bowling  wrote:
>
> Out of curiosity are you using this driver? Any performance data?

Yep.

I don't have any hard numbers on hand but my recollection is it caps
out at about 5 GB/s, total, on Broadwell.  Our workload with it is
predominantly unmapped 8kB copies but includes some 512 byte copies as
well.  My recollection is that the channels are logical and share a
single DMA engine, so there's not much reason to use more than one of
them.  It may improve on future microarchs but I can't speak to those.

Cheers,
Conrad
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r343125 - head/sys/dev/ioat

2019-01-17 Thread Kevin Bowling
Out of curiosity are you using this driver? Any performance data?

On Thu, Jan 17, 2019 at 4:21 PM Conrad Meyer  wrote:

> Author: cem
> Date: Thu Jan 17 23:21:02 2019
> New Revision: 343125
> URL: https://svnweb.freebsd.org/changeset/base/343125
>
> Log:
>   ioat(4): Set __result_use_check on ioat_acquire_reserve
>
>   Even M_WAITOK callers must check for failure.  For example, if the
> device is
>   quiescing, either due to automatic error-recovery induced reset, or due
> to
>   administrative detach, the routine will return ENXIO and the acquire
>   reference will not be held.  So, there is no mode in which it is safe to
>   assume the routine succeeds without checking.
>
>   Sponsored by: Dell EMC Isilon
>
> Modified:
>   head/sys/dev/ioat/ioat.h
>
> Modified: head/sys/dev/ioat/ioat.h
>
> ==
> --- head/sys/dev/ioat/ioat.hThu Jan 17 22:00:02 2019(r343124)
> +++ head/sys/dev/ioat/ioat.hThu Jan 17 23:21:02 2019(r343125)
> @@ -173,7 +173,8 @@ void ioat_release(bus_dmaengine_t dmaengine);
>   *
>   * On failure, the caller does not hold the dmaengine.
>   */
> -int ioat_acquire_reserve(bus_dmaengine_t dmaengine, unsigned n, int
> mflags);
> +int ioat_acquire_reserve(bus_dmaengine_t dmaengine, unsigned n, int
> mflags)
> +__result_use_check;
>
>  /*
>   * Issue a blockfill operation.  The 64-bit pattern 'fillpattern' is
> written to
> ___
> svn-src-head@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
>
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"