Brocade Fibre Channel Networking Community

Expand all | Collapse all

counters tim_txcrd_z increase

  • 1.  counters tim_txcrd_z increase

    Posted 05-28-2014 01:43 PM

    Hi,

     

    see below  : 

    For information, this port is not an ISL

     

    switch admin> portstatsshow 4
    stat_wtx 3297406945 4-byte words transmitted
    stat_wrx 2256674145 4-byte words received
    stat_ftx 19469329 Frames transmitted
    stat_frx 21954638 Frames received
    stat_c2_frx 0 Class 2 frames received
    stat_c3_frx 21954638 Class 3 frames received
    stat_lc_rx 0 Link control frames received
    stat_mc_rx 0 Multicast frames received
    stat_mc_to 0 Multicast timeouts
    stat_mc_tx 0 Multicast frames transmitted
    tim_rdy_pri 0 Time R_RDY high priority
    tim_txcrd_z 9724978 Time TX Credit Zero (2.5Us ticks)
    tim_txcrd_z_vc 0- 3: 0 0 9724978 0
    tim_txcrd_z_vc 4- 7: 0 0 0 0
    tim_txcrd_z_vc 8-11: 0 0 0 0
    tim_txcrd_z_vc 12-15: 0 0 0 0
    er_enc_in 0 Encoding errors inside of frames
    er_crc 0 Frames with CRC errors
    er_trunc 0 Frames shorter than minimum
    er_toolong 0 Frames longer than maximum
    er_bad_eof 0 Frames with bad end-of-frame
    er_enc_out 0 Encoding error outside of frames
    er_bad_os 0 Invalid ordered set
    er_c3_timeout 0 Class 3 frames discarded due to timeout
    er_c3_dest_unreach 0 Class 3 frames discarded due to destination unreachable
    er_other_discard 0 Other discards
    er_type1_miss 0 frames with FTB type 1 miss
    er_type2_miss 0 frames with FTB type 2 miss
    er_type6_miss 0 frames with FTB type 6 miss
    er_zone_miss 0 frames with hard zoning miss
    er_lun_zone_miss 0 frames with LUN zoning miss
    er_crc_good_eof 0 Crc error with good eof
    er_inv_arb 0 Invalid ARB
    open 0 loop_open
    transfer 0 loop_transfer
    opened 0 FL_Port opened
    starve_stop 0 tenancies stopped due to starvation
    fl_tenancy 0 number of times FL has the tenancy
    nl_tenancy 0 number of times NL has the tenancy
    zero_tenancy 0 zero tenancy


    #BrocadeFibreChannelNetworkingCommunity


  • 2.  Re: counters tim_txcrd_z increase

    Posted 05-29-2014 12:19 AM

    Why this counter increases?
    An idea for resolve this issue


    #BrocadeFibreChannelNetworkingCommunity


  • 3.  Re: counters tim_txcrd_z increase

    Posted 05-30-2014 12:26 AM

    Hi Fabien,

     

    if this port is an Storage Port, the Storage may not be able to handle the I/O s in an acceptable time.

    The port runs out of BB-Credits.

     

     


    #BrocadeFibreChannelNetworkingCommunity


  • 4.  Re: counters tim_txcrd_z increase

    Posted 05-30-2014 05:05 AM

    Hi Ralph,

     

    Thanks for reply.

     

    Are there a command for increase BB, or not ?

     

     


    #BrocadeFibreChannelNetworkingCommunity


  • 5.  Re: counters tim_txcrd_z increase

    Posted 06-04-2014 12:46 AM

    Hi,

     

    in response to your query,

     

    Are there a command for increase BB, or not ?

     

    The answer is no, at least on the switch: the number of TX BB credits is stablished by the device at the other side of the link. If it were another switch (ISL), then you could increase the amount of BB credits (Extended Fabric licence required). But if it is a host or storage array, there is no way that I know to increase the number of BB. If you are experiencing performance issues due to this you should add more hbas to the host and/or spread the load among more ports in the storage array.

     

     

    rgds


    #BrocadeFibreChannelNetworkingCommunity
    #bbcredit


  • 6.  Re: counters tim_txcrd_z increase

    Posted 06-13-2014 08:48 AM

    @felipon wrote:

    Hi,

     

    in response to your query,

     

    Are there a command for increase BB, or not ?

     

    The answer is no, at least on the switch: the number of TX BB credits is stablished by the device at the other side of the link. If it were another switch (ISL), then you could increase the amount of BB credits (Extended Fabric licence required). But if it is a host or storage array, there is no way that I know to increase the number of BB. If you are experiencing performance issues due to this you should add more hbas to the host and/or spread the load among more ports in the storage array.

     

     

    rgds


    At least on FOS v6.4.1 and newer, it is possible to increase the number of bb credits on F_Ports. you can use the portcfgfportbuffers

     

     

    CTI_CORP:sag> portcfgfportbuffers
    Usage:   portCfgFportBuffers Mode [Slot/]Port [Buffers]
    Mode:    --disable - F_Port will use the default number buffers
             --enable  - F_Port will use the value 'Buffers' for number buffers
    CTI_CORP:sag> firmwareshow
    Appl     Primary/Secondary Versions
    ------------------------------------------
    FOS      v6.4.1a
             v6.4.1a
    

     


    #BrocadeFibreChannelNetworkingCommunity


  • 7.  Re: counters tim_txcrd_z increase

    Posted 06-17-2014 06:29 AM

    @anovelli, that command increases the amount of RX BB credits but it doesn't modify the amount of TX BB credits that is the one monitored by counter tim_txcrd_z.

     

    rgds,

    Felipon


    #BrocadeFibreChannelNetworkingCommunity


  • 8.  Re: counters tim_txcrd_z increase

    Posted 06-23-2014 03:20 AM

    Hi Felipon!

     

    In my understanding, the number of buffer credits must be the same on both sides of the fibre. what portcfgfportbuffers do is to enable you to do this matching to better use the buffer capability of the hosts/storages attached to that port. For example, some emulex HBAs have 16 buffer credits enabled for a certain framesize and the default f port buffers on the switch is 8 so if i see bbcredit errors raising on the switch, i can increase the f-port buffers and in my case, it solved the problem.

     

     


    #BrocadeFibreChannelNetworkingCommunity


  • 9.  Re: counters tim_txcrd_z increase

    Posted 07-02-2014 08:15 PM

    Hmm, I learn new things here all the time or they are absolute nonsense. I preffer to think the latter.

     

    First a comment by Eli:

    Each frame can "live" in the queue 2.5us, and after this timeout the frame discarded."

     

    If that was the case not a single frame would ever reach an HBA or Storage target. 2.5 microseconds is the measuring interval where the ASIC checks on the amount of credits. If it is 0 at that particulate point in time this counter increments by one. The time a frame can live inside a receive buffer is determined by the hold-time which is either 220ms, 500ms or a user defined value.

     

    See here on a very nasty trap if you get this wrong: http://erwinvanlonden.net/2013/03/the-emergency-health-threat-eht-on-brocade-fc-fabrics/

     

    Secondly:

    Buffer credits are defined by the receiving side of a port. That means that during FLOGI and the Accept on that FLOGI the two port tell eachother how much buffers they have/allow the remote side to send without having to obtain an R_RDY primitive.

     

     

    See here: http://erwinvanlonden.net/2012/07/one-rotten-apple-spoils-the-bunch-1/

    and here http://erwinvanlonden.net/2013/11/buffer-credits-for-newbies/

     

     


    #BrocadeFibreChannelNetworkingCommunity


  • 10.  Re: counters tim_txcrd_z increase

    Posted 06-01-2014 12:34 AM

    Hi,

    Each frame can "live" in the queue 2.5us, and after this timeout the frame discarded.

    There are few things that can cause the issue:

    1. Slow Drain devices - the devices cant handle such amount of IO, so the frames are "dead" in the queue.

    2. Replace the path to the device: HBA, fiber, patch panel etc.


    #BrocadeFibreChannelNetworkingCommunity


  • 11.  Re: counters tim_txcrd_z increase

    Posted 06-02-2014 01:47 AM

    it would be interesting to know, how fast does the counter increase

     

    tim_txcrd_z
    The number of times that the port was unable to transmit frames because the transmit BB credit was zero. The purpose of this statistic is to detect congestion or a device affected by latency. This parameter is sampled at intervals of 2.5 microseconds, and the counter is incremented if the condition is true. Each sample represents 2.5 microseconds of time with zero Tx BB Credit. An increment of this counter means that the frames could not be sent to the attached device for 2.5 microseconds, indicating degraded performance.
     
    2.5 microseconds * 400 000 = one minute
    if you hit the 400k mark your link is bottlenecked and has no possibility to transmit frames.
     
    aktion you could do to determine the status of the port--->>
     

    first clear the portstats with portstatsclear #portnumber

    then issue portstatsshow #portnumber and about one minute later reissue the same command again.

    if you have a never FOS on the switch you have a timestemp, if the FOS is older then you need to see how much the counter did increase within the one minute,

     

     if the counter increases 400 000 units per minute you have a problem.

     

    --if this is a storage port you have to much hosts on it and need to recheck mapping/utilisation and a possbile remap to a different storageport, would be the first guess,

     

    if not then you have other issues that you need to have a look into.

     

    for the start let us know how fast does the counter increase, whats behind the port


    #BrocadeFibreChannelNetworkingCommunity