poor performance of nge interface

lukem.freebsd_at_cse.unsw.edu.au
Date: 10/26/04

  • Next message: Bruce M Simpson: "Re: arp_rtrequest() panich & patch for comments"
    To: freebsd-net@freebsd.org
    Date: Tue, 26 Oct 2004 11:56:20 +1000 (EST)
    
    

    I notice that there are some poorly defined default values:

    dev/nge/if_nge.c:
    CSR_WRITE_4(sc, NGE_IHR, 0x01);

    dev/nge/if_nge_reg.h:
    #define NGE_RX_LIST_CNT 128
    #define NGE_TX_LIST_CNT 128

    net/if.h:
    #define IFQ_MAXLEN 50

    netinet/ip_input.c:
    static int ipqmaxlen = IFQ_MAXLEN;
    ipintrq.ifq_maxlen = ipqmaxlen;

    This results in default behaviour under load that when the device
    interrupts with a full rx queue, packets are dequeued from the receive
    ring and are promptly dropped on the floor when they hit the IP queue.

    With the default interrupt holdoff time of 100us, we could expect a
    maximum of 128/0.0001 = 128kpps, which is probably a bit low for small
    packet sizes.

    -- 
    Luke
    _______________________________________________
    freebsd-net@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-net
    To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
    

  • Next message: Bruce M Simpson: "Re: arp_rtrequest() panich & patch for comments"