This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678 SRIO Problem Changing Width - 2 Lane



Customer has SRIO working.  When switched the SRIO_PORT_WIDTH in benchmarking.h, one of the ports for the consumer is not operational. However, the producer says that they are both operational. The test then hangs. What could be causing this?

[C66xx_0] ********************************
[C66xx_0] *********** CONSUMER ***********
[C66xx_0] ********************************
[C66xx_0] WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
[C66xx_0] Debug: Waiting for module reset...
[C66xx_0] Debug: Waiting for module local reset...
[C66xx_0] Debug: Waiting for SRIO ports to be operational...  
[C66xx_0] Debug: SRIO port 0 is NOT operational.
[C66xx_0] Debug: SRIO port 2 is operational.
[C66xx_0] Debug:   Lanes status shows lanes formed as two 2x ports
[C66xx_0] Init finished!!! 

[C66xx_1] ********************************
[C66xx_1] *********** PRODUCER ***********
[C66xx_1] ********************************
[C66xx_1] WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
[C66xx_1] Debug: Waiting for module reset...
[C66xx_1] Debug: Waiting for module local reset...
[C66xx_1] Debug: Waiting for SRIO ports to be operational...  
[C66xx_1] Debug: SRIO port 0 is operational.
[C66xx_1] Debug: SRIO port 2 is operational.
[C66xx_1] Debug:   Lanes status shows lanes formed as two 2x ports
[C66xx_1] Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
[C66xx_1] Debug: SRIO Driver Instance 0x@00861050 has been created
[C66xx_1] Debug: Running test in polled mode.
[C66xx_1] Debug: SRIO Driver handle 0x861050.
[C66xx_1] 
[C66xx_1] 
[C66xx_1] Latency: (DIO_NW, 5.000GBaud, 2X, tab delimited)

  • Hi Lawrence,

    The ports will not be operational until both consumer and producer have initialized. Since the consumer starts before the producer, the consumer will see the SRIO ports as 'not operational'. After the producer is initialized, given that both sequences worked properly, the producer will see the SRIO ports as 'operational'. This is the behavior the customer observed, which is correct.

    If the customer has only modified the port width parameter, they are most likely running all the throughput tests while stepping through all the data payload sizes (these parameters can be changed in the benchmarking.h file as well). As the documentation states, this takes about 60 minutes and may take some time before results are displayed to the console.

    How long have they let the program run before halting? I'm recompiling my Tput example in this configuration (2 2x ports running all the tests through all the data payload sizes) and will reply back with the how long it takes before I see results in the console.

    Can you also confirm that they have recompiled both the consumer and producer in the same configuration? 

    Thanks,

    Clinton

  • I just ran the tests and I see results in the console window almost right away from the producer, once it finishes initialization.

    For reference, here is what my console outputs looks like as I start the consumer, then the producer:

    ********************************
    *********** CONSUMER ***********
    ********************************
    WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
    Debug: Waiting for module reset...
    Debug: Waiting for module local reset...
    Debug: Waiting for SRIO ports to be operational...  
    Debug: SRIO port 0 is NOT operational.
    Debug: SRIO port 2 is NOT operational.
    Debug:   Lanes status shows lanes formed as two 2x ports
    Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
    Debug: SRIO Driver Instance 0x@00861140 has been created
    Debug: Running test in polled mode.
    Debug: SRIO Driver handle 0x861140.
    
    
    ********************************
    *********** PRODUCER ***********
    ********************************
    WARNING: Please ensure that the CONSUMER is executing before running the PRODUCER!!
    Debug: Waiting for module reset...
    Debug: Waiting for module local reset...
    Debug: Waiting for SRIO ports to be operational...  
    Debug: SRIO port 0 is operational.
    Debug: SRIO port 2 is operational.
    Debug:   Lanes status shows lanes formed as two 2x ports
    Debug: AppConfig Tx Queue: 0x2a0 Flow Id: 0
    Debug: SRIO Driver Instance 0x@00861050 has been created
    Debug: Running test in polled mode.
    Debug: SRIO Driver handle 0x861050.
    
    
    Latency: (DIO_NW, 5.000GBaud, 2X, tab delimited)
    Core	Lanes	Speed	Conn	MsgType	PktSize	NumPkts	MnLCycs	AgLCycs	MxLCycs
    1	2	5.000	B-E-B	DIO_NW	4	100	739	747	797
    1	2	5.000	B-E-B	DIO_NW	8	100	739	746	765
    1	2	5.000	B-E-B	DIO_NW	16	100	757	763	783
    1	2	5.000	B-E-B	DIO_NW	32	100	811	811	818
    1	2	5.000	B-E-B	DIO_NW	64	100	884	884	892
    1	2	5.000	B-E-B	DIO_NW	128	100	1032	1036	1051
    1	2	5.000	B-E-B	DIO_NW	256	100	1346	1346	1358
    1	2	5.000	B-E-B	DIO_NW	512	100	1605	1624	1644
    1	2	5.000	B-E-B	DIO_NW	1024	100	2179	2180	2198
    1	2	5.000	B-E-B	DIO_NW	2048	100	3270	3288	3308
    1	2	5.000	B-E-B	DIO_NW	4096	100	5502	5512	5529
    1	2	5.000	B-E-B	DIO_NW	8192	100	9949	9951	9969

  • Thanks for the guidance.  Things are working now.

    Regards,

    Lawrence