On Fri, Sep 27, 2002 at 10:53:00AM -0400, jamal wrote:
>
> On Fri, 27 Sep 2002, Eric Lemoine wrote:
>
> > I figured out that packets can be dropped in pfifo_fast_enqueue()
> > [the default qdisc's enqueue func], even though the driver/kernel
> > flow control has triggered.
> >
> > And sendto does not notify the user when packet gets dropped because
> > the output queue overflows (as indicated in sendto manpage).
> >
> > Why doesn't the kernel just put the process into sleep instead of
> > dropping packets?
> >
>
> What trigger do you suggest to wake up the process again?
> A better idea maybe to return something to the socket so it can
> manage things instead -- not sure what to return though that wouldnt
> break some standard;
Linux seems to be the only one to not return ENOBUFS in this overflow
case (from sendto manpage), so i suspect it should not break any
standard.
--
Eric
|