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.

AM335x ISDK Know issue and limitation

Other Parts Discussed in Thread: SYSBIOS

Hi,

I check the known issues and limitations about AM335x ISDK.

AM335x SYSBIOS Industrial SDK 01.01.00.05 Release Notes
http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.01.00.05_Release_Notes#Known_Issues_And_Limitations

I found the Ethernet/IP issue(SDOCM00106849).
Workaround for this issue has been described as follows.

"Increase the size of ICSS Driver Tx Queues from 3Kb to 6 Kb"


Please tell me how to increase the size of Tx Queses.
Do I need to modify the source code?
If so, which source file in ISDK should I modify?


Best regards,
H.U

  • Moving this to the SYS/BIOS forum.

  • Hello,

    I also need this information.
    Can I have your response?

    Best regards, RY

  • RY-San,

    To increase the ICSS Driver TX queues from 3KB to 6KB, we need to modify 'icss_switch.h' file which can be found at “(IA_SDK_HOME)\public\sdk\os_drivers\include\ICSS" directory.

    Replace the following code

    // Physical Port queue size. Same for both ports

    #define QUEUE_1_SIZE                                97           // Network Management high

    #define QUEUE_2_SIZE                                97           // Network Management low

    #define QUEUE_3_SIZE                                97           // Protocol specific

    #define QUEUE_4_SIZE                                97           // NRT (IP,ARP, ICMP, …)

    with this 

    // Physical Port queue size. Same for both ports

    #define QUEUE_1_SIZE                                64           // Network Management high

    #define QUEUE_2_SIZE                                64           // Network Management low

    #define QUEUE_3_SIZE                                64           // Protocol specific

    #define QUEUE_4_SIZE                                194           // NRT (IP,ARP, ICMP, …)

    Rebuild the os_drivers and then ethernetip_adapter application for the changes to take effect.

    Regards,
    Nijin

  • Nijin-san,

    Thank you so much!!
    Sorry, I can not verify your post for some reason.

    BTW, I can not understand the meaning of numerical value.
    It means modification from 3KB to 6KB?

    Best regards RY

  • RY-San,

    We have 4 physical port queues (Q1 to Q4) which are same for both ports. To calculate the queue size, we have to multiply queue size offset with the 'Block Size' which is 32 bytes as derived from ICSS architecture.

    By default, we have the queue size offset as 97 which stands for 3 KB (97*32 Bytes). It is 97 instead of 96 because we use one offset to detect FIFO is full or not.

    During Queue optimization, we increments the Q4 size from 3 KB to 6 KB with a proportionate decrease in first 3 queue sizes so that the total queue size (12 KB) remains constant before and after the optimization process.

    With this optimization, we can see that the NDK performance (recv.exe) is increased considerably. 

    Hope these info helps.

    Regards,
    Nijin

  • Nijin-san,

    Thank you very much !!

    Best regards, RY

  • Nijin-san,
    Thank you so much for your comment!

    I would like to clarify:
    - Do you have a plan to fix this issue in next ISDK release(ISDK v1.1.0.6)?
    - Can I think this workaround is sufficient reliable? (Queue size changing)

    Because,
    our another project team encountered unstable system trouble in PROFINET after they modified QUEUE_4_SIZE as 194 byte.
    Note: In Ethernet/IP, we have never encountered issue.
    We understand its workaround is for Ethernet/IP, and not PROFINET.
    However, we would mind it because this issue is not described in TI's document currently.

    Could you please your comment?

    Best regards, RY
  • RY,

    You cannot increase the queue size in Profinet because of memory constraints. This is the reason why it's not set by default.

    It should work fine with Ethernet/IP.

    Regards,
    Vinesh
  • Vinesh-san,
    Thanks so much.
    It will not update next release of ISDK. Right?
    Best regards, RY
  • RY-san,

    It will not be update as it may effect other protocols.

    Regards,

    Vinesh

  • Vinesh-san,
    Thank you so much !!
    Best regards, RY