Thank you Mark-Jan for the additional information.  I’ll study it and compare 
with my system.  Much appreciated. 

Best regards, 

Joe

> On Mar 9, 2019, at 11:19 AM, Mark-Jan Bastian <mark...@xs4all.nl> wrote:
> 
> Hi Joe,
> 
> With sudo lspci -vvv you will see the capabilties, including the low-level
> PCIe bus speed and link count negotiation of the devices. The sudo is needed
> to get the low-level LnkCap and LnkCtl bits:
> 
> For a 16-lane videocard on a laptop here, likely soldered right on the 
> motherboard:
> 
> The PCIe capabilities: 8 GT/sec, max 16 lanes:
>               LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit 
> Latency L0s <1us, L1 <4us
>                       ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
> What the speed ended up to be 8GT/sec, 16 lanes:
>               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
>                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
>               LnkSta: Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt- ABWMgmt-
>               DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR+, OBFF 
> Via message
>               DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, 
> OBFF Disabled
> Below is a variant of the LnkCtl record, providing even more information on 
> even the equalisation of the
> SERDES link that is used by this PCIe device: (equalisation is the analog RF 
> signal processing to overcome 
> losses while routing the signal over the motherboard and the connectors):
>               LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
>                        Transmit Margin: Normal Operating Range, 
> EnterModifiedCompliance- ComplianceSOS-
>                        Compliance De-emphasis: -6dB
>               LnkSta2: Current De-emphasis Level: -6dB, 
> EqualizationComplete+, EqualizationPhase1+
>                        EqualizationPhase2+, EqualizationPhase3+, 
> LinkEqualizationRequest-
> 
> Above could be regarded as a 'depth first' approach for those who would like 
> to stay purely software-oriented.
> I like to treat a PC in such scenario as an embedded system,  first get the 
> powersupplies, clocks and other 
> hardware right, design the clockdomains and datarates, then gradually move up 
> the software/control/kernel/driver 
> stack to verify for anomalies that could trigger such intermittent problems.
> 
> Mark-Jan
> 
> On Sat, Mar 09, 2019 at 10:40:39AM -0700, Joe Martin wrote:
>> Hi Mark, 
>> 
>> I am intrigued by your response and have obtained a tree view for my system 
>> as you suggested to Paul.  I???m unfamiliar with the tree view and don???t 
>> understand how to check the number of PCIe lanes that are available to the 
>> disk controller and disks and how to check how many PCIe bridges are in 
>> between on my motherboard configuration.  
>> 
>> I have a screenshot of the tree view showing my 10G ethernet connection (but 
>> it is 220KB in size so I didn???t attach it here) but I am not familiar with 
>> how to determine what you asked about from the tree and what to do about the 
>> configuration in any case.  Is the configuration fixed and not changeable, 
>> in any case?  
>> 
>> If so, then perhaps your alternative suggestion regarding booting from a USB 
>> stick into a ramdisk is a viable route?  I???m unfortunately not familiar 
>> with the details of how to do that so perhaps a couple of brief comments 
>> about implementing that process would help me understand better if that???s 
>> the only viable alternative to pursue given the present hardware 
>> configuration?  
>> 
>> Joe
>> 
>>> On Mar 9, 2019, at 5:14 AM, Mark-Jan Bastian via USRP-users 
>>> <usrp-users@lists.ettus.com> wrote:
>>> 
>>> Hi Paul,
>>> 
>>> I can record from the X310 to disk to nvme x4 PCIe at 800 MB/sec 
>>> for a few minutes. There is still a risk of O 's appearing.
>>> 
>>> First thing to check is the number of PCIe lanes available to the disk
>>> controller and disks, and how many and which PCIe bridges are in between
>>> on your motherboard configuration. Try to avoid other traffic over these
>>> PCIe bridges. lspci -vt for a tree view.
>>> 
>>> Then one can do benchmarking from DRAM to disk. Perhaps you will not need
>>> a filesystem for your very simple storage purpose.
>>> You can ultimately just boot from some other media (USB stick or CD-ROM
>>> loaded into a ramdisk) just to make sure there is absolute no need to 
>>> read-access any other data on said disks, via cached pages or otherwise.
>>> 
>>> Hickups by system management mode or other unexpected driver interrupt 
>>> sources
>>> should be minimized. Other networking code and chatter might need be 
>>> reduced,
>>> just as SMM related thermal management events in the BIOS.
>>> First tune everthing for maximum performance, then optimize for very 
>>> constant 
>>> write performance.
>>> 
>>> Mark-Jan
>>> 
>>> On Sat, Mar 09, 2019 at 12:32:05PM +0100, Paul Boven via USRP-users wrote:
>>>> Hi,
>>>> 
>>>> I'm trying to record the full X310 bandwidth, for a few hours, without any
>>>> missed samples. Which of course is a bit of a challenge - does anyone here
>>>> already achieve this?
>>>> 
>>>> We're using a TwinRX, so initially I wanted to record 2x 100MS/s (from both
>>>> channels), which amounts to 800MB/s, 6.4Gb/s. At first I tried 
>>>> uhd_rx_cfile,
>>>> but have been unable to get it to a good state without showing an 'O' every
>>>> few seconds at these speeds.
>>>> 
>>>> As a recorder I have a SuperMicro 847 chassis with 36 disks (Seagate
>>>> Ironwolf 8TB T8000VN0022, 7200rpm). In this particular server, the disks 
>>>> are
>>>> connected through an 'expander' backplane, from a single HBA (LSI 3008). 
>>>> CPU
>>>> is dual Xeon 4110, 2.1 GHz, 64 GB of ram.
>>>> 
>>>> At first I tried a 6 disk pool (raidz1), and eventually ended up creating a
>>>> huge 36 disk ZFS stripe, which in theory should have no trouble with the
>>>> throughput, but certainly kept dropping packets.
>>>> 
>>>> Note that recording to /dev/shm/file works perfectly without dropping
>>>> packets, until the point that the memory is full.
>>>> 
>>>> Given that ZFS has quite a bit of (good) overhead to safeguard your data, I
>>>> then switched to creating a mdadm raid-0 with 18 of the disks (Why not 36? 
>>>> I
>>>> was really running out of time!)
>>>> 
>>>> At that point I also found 'specrec' from gr-analyze, which seems more
>>>> suitable. But, even after enlarging its circular buffer to the largest
>>>> supported values, it would only average a write speed of about 300MB/s.
>>>> 
>>>> In the end I had to settle for recording at only 50MS/s (200MB/s) from only
>>>> a single channel, a far cry from the 2x 6.4Gb/s I'm ultimately looking to
>>>> record. Although I did get more than an hour of perfect data out of it, 
>>>> over
>>>> time the circular buffer did get fuller in bursts, and within 2 hours it
>>>> exited due to exhausting the buffers. Restarting the application made it
>>>> work like fresh again, with the same gradual decline
>>>> in performance.
>>>> 
>>>> Specrec, even when tweaking its settings, doesn't really take advantage of
>>>> the large amount of memory in the server. As a next step, I'm thinking of
>>>> adapting specrec to use much larger buffers, so that writes are at least in
>>>> the range of MB to tens of MB. From earlier experiences, it is also
>>>> important to flush your data to disk often, so the interruptions due to 
>>>> this
>>>> are more frequent, but short enough to not cause receive buffers to
>>>> overflow.
>>>> 
>>>> In terms of network tuning, all recording was done with MTU 9000, with wmem
>>>> and rmem at the recommended values. All recordings were done as interleaved
>>>> shorts.
>>>> 
>>>> Does anyone have hints or experiences to share?
>>>> 
>>>> Regards, Paul Boven.
>>>> 
>>>> _______________________________________________
>>>> USRP-users mailing list
>>>> USRP-users@lists.ettus.com
>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>> 
>>> _______________________________________________
>>> USRP-users mailing list
>>> USRP-users@lists.ettus.com
>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>> 
>> 
> 


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to