VirtualBox

Changeset 20453 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 10, 2009 1:41:54 AM (16 years ago)
Author:
vboxsync
Message:

NAT: adds performance counters to sbuf and tcp_input

Location:
trunk/src/VBox/Devices/Network/slirp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/counters.h

    r20376 r20453  
    5252COUNTING_COUTER(IOWrite_rest_bytes, "SB IOWrite_rest_bytes");
    5353
     54PROFILE_COUNTER(IOSBAppend_pf, "Profiling sbuf::append common");
     55PROFILE_COUNTER(IOSBAppend_pf_wa, "Profiling sbuf::append all writen in network");
     56PROFILE_COUNTER(IOSBAppend_pf_wf, "Profiling sbuf::append writen fault");
     57PROFILE_COUNTER(IOSBAppend_pf_wp, "Profiling sbuf::append writen partly");
    5458COUNTING_COUTER(IOSBAppend, "SB: Append total");
    5559COUNTING_COUTER(IOSBAppend_wa, "SB: Append all is written to network ");
     
    6266COUNTING_COUTER(IOSBAppendSB_w_ge_r, "SB: AppendSB (sb_wptr >= sb_rptr)");
    6367COUNTING_COUTER(IOSBAppendSB_w_alter, "SB: AppendSB (altering of sb_wptr)");
     68
     69PROFILE_COUNTER(TCP_reassamble, "TCP::reasamble");
     70PROFILE_COUNTER(TCP_input, "TCP::input");
  • trunk/src/VBox/Devices/Network/slirp/sbuf.c

    r20377 r20453  
    7878    int ret = 0;
    7979
     80    SLIRP_PROFILE_START(IOSBAppend_pf, a);
    8081    DEBUG_CALL("sbappend");
    8182    DEBUG_ARG("so = %lx", (long)so);
     
    127128         */
    128129        sbappendsb(pData, &so->so_rcv, m);
     130        SLIRP_PROFILE_STOP(IOSBAppend_pf_wf, a);
    129131        goto done;
    130132    }
     
    139141        m->m_data += ret;
    140142        sbappendsb(pData, &so->so_rcv, m);
     143        SLIRP_PROFILE_STOP(IOSBAppend_pf_wp, a);
    141144        goto done;
    142145    } /* else */
    143146    /* Whatever happened, we free the mbuf */
    144147    SLIRP_COUNTER_INC(IOSBAppend_wa);
     148    SLIRP_PROFILE_STOP(IOSBAppend_pf_wa, a);
    145149done:
    146150    m_free(pData, m);
  • trunk/src/VBox/Devices/Network/slirp/tcp_input.c

    r20377 r20453  
    7979    struct socket *so = tp->t_socket;
    8080    int flags;
     81    SLIRP_PROFILE_START(TCP_reassamble, tcp_reassamble);
    8182
    8283    /*
     
    108109        m_freem(pData, m);
    109110        *tlenp = 0;
     111        SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
    110112        return (0);
    111113    }
     
    121123        m_freem(pData, m);
    122124        *tlenp = 0;
     125        SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
    123126        return (0);
    124127    }
     
    218221     */
    219222    if (!TCPS_HAVEESTABLISHED(tp->t_state))
     223    {
     224        SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
    220225        return (0);
     226    }
    221227    q = LIST_FIRST(&tp->t_segq);
    222228    if (!q || q->tqe_th->th_seq != tp->rcv_nxt)
     229    {
     230        SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
    223231        return (0);
     232    }
    224233    do
    225234    {
     
    250259    while (q && q->tqe_th->th_seq == tp->rcv_nxt);
    251260
     261    SLIRP_PROFILE_STOP(TCP_reassamble, tcp_reassamble);
    252262    return flags;
    253263}
     
    273283    u_long tiwin;
    274284/*  int ts_present = 0; */
     285    SLIRP_PROFILE_START(TCP_input, counter_input);
    275286
    276287    DEBUG_CALL("tcp_input");
     
    303314                        /* mbuf should be cleared in sofree called from tcp_close */
    304315                        tcp_close(pData, tp);
     316                        SLIRP_PROFILE_STOP(TCP_input, counter_input);
    305317                        return;
    306318                }
     
    637649
    638650              SOCKET_UNLOCK(so);
     651              SLIRP_PROFILE_STOP(TCP_input, counter_input);
    639652              return;
    640653            }
     
    682695            tcp_output(pData, tp);
    683696            SOCKET_UNLOCK(so);
     697            SLIRP_PROFILE_STOP(TCP_input, counter_input);
    684698            return;
    685699        }
     
    781795            }
    782796            SOCKET_UNLOCK(so);
     797            SLIRP_PROFILE_STOP(TCP_input, counter_input);
    783798            return;
    784799
     
    16071622
    16081623    SOCKET_UNLOCK(so);
     1624    SLIRP_PROFILE_STOP(TCP_input, counter_input);
    16091625    return;
    16101626
     
    16211637    (void) tcp_output(pData, tp);
    16221638    SOCKET_UNLOCK(so);
     1639    SLIRP_PROFILE_STOP(TCP_input, counter_input);
    16231640    return;
    16241641
     
    16361653    if (so != &tcb)
    16371654        SOCKET_UNLOCK(so);
     1655    SLIRP_PROFILE_STOP(TCP_input, counter_input);
    16381656    return;
    16391657
     
    16511669#endif
    16521670
     1671    SLIRP_PROFILE_STOP(TCP_input, counter_input);
    16531672    return;
    16541673}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette