Subject: Re: device polling system
To: None <tech-kern@netbsd.org>
From: Takahiro Igarashi <thir@thir.org>
List: tech-kern
Date: 05/29/2003 01:55:59
thank you for your interesting.

> Simon Burge <simonb@wasabisystems.com> wrote

> Takahiro Igarashi wrote:
> 
> > I am now working to implement the device polling system on
> > NetBSD.  The project page is at:
> > 
> > http://thir.org/thir/NetBSD/devicepolling.en.html
> > 
> > The patch is still based on FreeBSD's one.  But I now start
> > to select the way of implementation of it and so on.
> > Fortunately my patch seems to work well.
> > 
> > Comments?
> 
> From a quick glance at the diff:
> 
> +#define        IFF_DEBUG       0x00004         /* turn on debugging */
> +#define        IFF_POLLING     0x00004         /* interface is in polling mode */ 
> 
> These flags have the same value.

yes.  The first time I think not to extend the ifnet
structure.  This comes from it. ifnet->if_flags is short and
all bit is used.  I come to think the bit rarely used is
used for IFF_POLLING.  this fixes on 0.3.0, which perhaps
comes tomorrow.

> I seem to recall some OS that switches to polled devices when it gets to
> a certain busy threshhold.  Can you switch between interrupt-driven and
> polling on the fly, or is an all or nothing decision?  Anyone know the
> OS(s) that does this, and how well it works?

what do you means "on the fly" for?  If it is that kernel
choices ether interrupt-driven or polling on some time, I
dont know the OSes which do so.  If it requires reasonably,
I must implement it.

If it is that simply to switch between them, this code is
partly implemented.  I'll change switch from all or nothing
to nic base choice.

apologize for my English skill.

-- 
  Takahiro Igarashi