diff options
| author | Patrick Sisterhen <patrick.sisterhen@ni.com> | 2017-03-29 15:13:46 -0700 | 
|---|---|---|
| committer | Martin Braun <martin.braun@ettus.com> | 2017-03-29 15:18:07 -0700 | 
| commit | 47672ede5034df17bdc2f314f4e3b7afa8622bda (patch) | |
| tree | 0e741b59804071e7f0a7b1f8a5b1ff3953259df6 /host/lib | |
| parent | 04b205d15bea5ef56d4f96446db6ec20124df9e7 (diff) | |
| download | uhd-47672ede5034df17bdc2f314f4e3b7afa8622bda.tar.gz uhd-47672ede5034df17bdc2f314f4e3b7afa8622bda.tar.bz2 uhd-47672ede5034df17bdc2f314f4e3b7afa8622bda.zip  | |
NI-RIO: FIFO management optimizations for PCIe performance
Pre-acquiring as much buffer as possible
When acquiring during a streaming operation, acquire a minimum amount (frame size) or the amount we know is acquire-able
Adding docstrings to nirio_fifo
Making const-qualifying consistent
Diffstat (limited to 'host/lib')
| -rw-r--r-- | host/lib/transport/nirio/niriok_proxy_impl_v2.cpp | 14 | ||||
| -rw-r--r-- | host/lib/transport/nirio_zero_copy.cpp | 2 | 
2 files changed, 9 insertions, 7 deletions
diff --git a/host/lib/transport/nirio/niriok_proxy_impl_v2.cpp b/host/lib/transport/nirio/niriok_proxy_impl_v2.cpp index f75de01e1..4e88b8a6e 100644 --- a/host/lib/transport/nirio/niriok_proxy_impl_v2.cpp +++ b/host/lib/transport/nirio/niriok_proxy_impl_v2.cpp @@ -759,14 +759,14 @@ namespace uhd { namespace niusrprio          in.timeout = timeout;          in.status = NiRio_Status_Success; -        ioctl_status =  +           ioctl_status =             nirio_driver_iface::rio_ioctl( -               _device_handle, -               IOCTL_TRANSPORT_FIFO_WAIT, -               &in, -               sizeof(in), -               &out, -               sizeof(out)); +              _device_handle, +              IOCTL_TRANSPORT_FIFO_WAIT, +              &in, +              sizeof(in), +              &out, +              sizeof(out));          if (nirio_status_fatal(ioctl_status)) return ioctl_status;          data_pointer = reinterpret_cast<void*>(out.elements); diff --git a/host/lib/transport/nirio_zero_copy.cpp b/host/lib/transport/nirio_zero_copy.cpp index 8bec49a5f..9ed02a6dc 100644 --- a/host/lib/transport/nirio_zero_copy.cpp +++ b/host/lib/transport/nirio_zero_copy.cpp @@ -182,11 +182,13 @@ public:              nirio_status_chain(                  _recv_fifo->initialize(                      (_xport_params.recv_frame_size*_xport_params.num_recv_frames)/sizeof(fifo_data_t), +                    _xport_params.recv_frame_size / sizeof(fifo_data_t),                      actual_depth, actual_size),                  status);              nirio_status_chain(                  _send_fifo->initialize(                      (_xport_params.send_frame_size*_xport_params.num_send_frames)/sizeof(fifo_data_t), +                    _xport_params.send_frame_size / sizeof(fifo_data_t),                      actual_depth, actual_size),                  status);  | 
