Reang,

Hard to say without looking at code but it shouldn't be just
because you are using mac_rx(). Have a look at some of the wifi
drivers (pcan) or rtls driver. They are just using the mac_rx()
paths.

Cheers,
Sunay

Reang Su wrote:
> Sunay,
> 
> I'm in a strange situation. I modified my driver code to use only 
> mac_rx() and didn't export any Rx rings.
> Now the stack doesn't respond on getting ping request from remote.
> snoop on SUT shows all packets received from remote but it doesn't show 
> any response to remote.
> 
> Am I missing something ?
> 
> Thanks,
> ~Reang.
> 
> On Sat, Oct 24, 2009 at 3:14 AM, Sunay Tripathi <Sunay.Tripathi at sun.com 
> <mailto:Sunay.Tripathi at sun.com>> wrote:
> 
>     You can read the code :) But seriously, if polling was not buying us
>     anything, why would we have done it. The typical mac_rx path means that
>     packets are processed in a interrupt only context and if a CPU can keep
>     up, then you should be OK. Its totally dependent on packets per second
>     rate. So even on 1 Gb NIC, with smaller packets, todays CPUs can't keep
>     up. This is where polling along with packet chaining makes a big
>     difference.  Read the Sigcomm papers we have to understand why we need
>     it (they are on crossbow opensolaris docs page). Thats just the
>     performance side. Then you add the virtualization side where packets
>     for a VM need to be isolated from otehr VMs and processed on the
>     correct CPU etc etc and again by exposing rings to MAC is allowing
>     polling to kick in is how we control things.
> 
>     To make long story short, if you are writing a driver which is not
>     dealing with high performance or going to be deployed in virtualized
>     scenarios etc, then you don't need to expose Rx rings and can just
>     use the mac_rx interface.
> 
>     HTH,
>     Sunay
> 
> 
>     Reang Su wrote:
> 
> 
>         Ok, Is there any other way from driver writer's perspective to
>         disable it?
>          What will happen if I only use mac_rx() instead of mac_rx_ring() ?
>         Please shed some light on its difference?
>          Thanks a lot.
>          ~Reang.
>         On Fri, Oct 23, 2009 at 10:34 PM, Sunay Tripathi
>         <Sunay.Tripathi at sun.com <mailto:Sunay.Tripathi at sun.com>
>         <mailto:Sunay.Tripathi at sun.com <mailto:Sunay.Tripathi at sun.com>>>
>         wrote:
> 
>            It depends on the NIC. If you are using anything other than
>         nxge, just
>            create a VNIC (don't plumb it) and polling on primary NIC
>         will get
>            disabled. This is a bug that is being fixed but right now the
>            easiest way.
> 
>            Cheers,
>            Sunay
> 
>            Reang Su wrote:
> 
>                I'm trying to check performance with and without dynamic
>                poll(legacy) feature in OpenSolaris.
> 
>                Can anybody know what could be the easiest way ?
> 
>                regards,
>                ~Surjit.
> 
>                On Fri, Oct 23, 2009 at 8:01 PM, Gireesh Nagabhushana
>                <dngireesh at gmail.com <mailto:dngireesh at gmail.com>
>         <mailto:dngireesh at gmail.com <mailto:dngireesh at gmail.com>>
>                <mailto:dngireesh at gmail.com <mailto:dngireesh at gmail.com>
>         <mailto:dngireesh at gmail.com <mailto:dngireesh at gmail.com>>>> 
> wrote:
> 
>                   Why do you want to disable it?
> 
>                   -- Gireesh
> 
> 
>                   On Fri, 2009-10-23 at 18:00 +0530, Reang Su wrote:
>                    > Hi,
>                    >
>                    > Anybody has tried disabling MAC_CAPAB_RINGS feature.
>                    > Is this a must feature to have in our driver for
>                OpenSolaris stack to
>                    > work? Or we can still live without this ?
>                    >
>                    > regards,
>                    > ~Reang.
>                    > _______________________________________________
>                    > driver-discuss mailing list
>                    > driver-discuss at opensolaris.org
>         <mailto:driver-discuss at opensolaris.org>
>                <mailto:driver-discuss at opensolaris.org
>         <mailto:driver-discuss at opensolaris.org>>
>                   <mailto:driver-discuss at opensolaris.org
>         <mailto:driver-discuss at opensolaris.org>
>                <mailto:driver-discuss at opensolaris.org
>         <mailto:driver-discuss at opensolaris.org>>>
> 
>                    >
>         http://mail.opensolaris.org/mailman/listinfo/driver-discuss
> 
> 
> 
>              
>          
> ------------------------------------------------------------------------
> 
>                _______________________________________________
>                crossbow-discuss mailing list
>                crossbow-discuss at opensolaris.org
>         <mailto:crossbow-discuss at opensolaris.org>
>                <mailto:crossbow-discuss at opensolaris.org
>         <mailto:crossbow-discuss at opensolaris.org>>
> 
>                http://mail.opensolaris.org/mailman/listinfo/crossbow-discuss
> 
> 
> 
>            --    Sunay Tripathi
>            Distinguished Engineer
>            Solaris Core Operating System
>            Sun MicroSystems Inc.
> 
>            Solaris Networking:      
>          http://www.opensolaris.org/os/community/networking
>            Project Crossbow:      
>         http://www.opensolaris.org/os/project/crossbow
> 
> 
> 
> 
> 
>     -- 
>     Sunay Tripathi
>     Distinguished Engineer
>     Solaris Core Operating System
>     Sun MicroSystems Inc.
> 
>     Solaris Networking:    
>     http://www.opensolaris.org/os/community/networking
>     Project Crossbow:       http://www.opensolaris.org/os/project/crossbow
> 
> 
> 

Reply via email to