Hi Vishal,

You are right about the variable 'pkt_count'. If the packet count
exceeds a limit - rx_limit_onintr, the function will return, and the
outstanding packets will be received with the next interrupt.

The limit "rx_limit_onintr" is connected with the tunable
"_max_num_rcv_packets". We can change it by using the command
"dladm set-linkprop ...".

If you want to check the packet count per interrupt, you can use dtrace
to trace every function call of e1000g_receive() and check the variable
"rx_pkt_cnt" in the e1000g_t structure.

Regards,
Ted


Hi Ted,

I was going through the function e1000g_receive() in e1000g_rx.c, and I noticed that there is a variable 'pkt_count', and it looks like that it is being used to count the number of packets for every interrupt. Can you please confirm this. The thing is that I am doing some very controlled experiments using UDP, wherein a single message will fit into a single UDP packet. If you think that pkt_count does hold the number of packets per interrupt, then can you please suggest a way to capture this information as well.


Thank you,
Vishal

On Tue, Sep 8, 2009 at 7:16 PM, Ted You <[email protected] <mailto:[email protected]>> wrote:

    Hi Vhiz,

    You can check the source file of uts/common/io/e1000g/e1000g_main.c,
    search the variables of intr_throttling_rate, rx_intr_delay, and
    rx_intr_abs_delay. However, in the e1000g driver, the code just provides
    a method for users to configure those parameters. It does not explicitly
    explain how they affect the rx interrupt. The Intel document AP450 has
    more details about it.

    And you can also check the file uts/common/io/e1000g/e1000g_rx.c. The
    function e1000g_receive() in e1000g_rx.c, and the functions
    e1000g_intr_work() / e1000g_poll_ring() in e1000g_main.c are the major
    packet receiving routines of the driver.

    Hope this helps.

    Regards,
    Ted



            Thank you for that! I had a look at the document, but
            I could not find anything useful for my problem. Will
            it help if I ponder at the driver code? If yes, can
            someone please point out any specific parts which I
            should look at.

            Thanks.


        Can someone please help here..


_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to