Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Feb 2003 15:07:43 -0500
From:      Bosko Milekic <bmilekic@unixdaemons.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Hiten Pandya <hiten@unixdaemons.com>, FreeBSD-arch@FreeBSD.ORG
Subject:   Re: Mbuf flags cleanup proposal
Message-ID:  <20030221150743.A79345@unixdaemons.com>
In-Reply-To: <3E5673E7.F3F1FA4F@mindspring.com>; from tlambert2@mindspring.com on Fri, Feb 21, 2003 at 10:45:59AM -0800
References:  <20030221151007.GA60348@unixdaemons.com> <3E5673E7.F3F1FA4F@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help

For What It's Worth:

On Fri, Feb 21, 2003 at 10:45:59AM -0800, Terry Lambert wrote:
> Hiten Pandya wrote:
> > Gang.  I have a proposal to rename the current mbuf subsystem
> > flag bits as follows:
> > 
> >         mbuf (sys/mbuf.h) flags:
> > 
> >         M_TRYWAIT       ->      MB_TRYWAIT
> >         M_DONTWAIT      ->      MB_DONTWAIT
> 
> [ ... ]
> 
> > Any reasonable objections/comments?
> 
> 1)	This seems to move away from integration of UVA and the
> 	mbuf allocator.

  You mean UMA.  And this has absolutely nothing to do with it.  There
  are several other reasons that the move is most likely not going to
  happen (they are cited at the top of the most recent subr_mbuf.c in
  the comments).  I wish people read those more often and stopped
  blindly recommending where and to what things should move towards,
  without providing reasonable solutions to the problems that actually
  arise when TRYING to do what they suggest.  In other words, talk is
  cheap, dirt cheap.

> 2)	It seems to me that all code should be moving to non-blocking
> 	interfaces, and blocking interfaces should be deprecated.
>
> 3)	"TRYWAIT" is really useless; either I can depend on blocking
> 	until the request is satisfied, or I can't; if I can't, then
> 	I might as well not have the extra complication of "wait a
> 	little bit, and then fail anyway": it doesn't make my code
> 	any less complicated.

  The behavior has absolutely nothing to do with your code.  It's not an
  API thing, it's the default behavior of the allocator which tries to
  wait at least a little bit to see if it can recover during an
  exhaustion before giving up.  I agree with you when you say that the
  networking code[1] should be taught to deal with failure (however
  "drastic" its dealing with it is is irrelevant), but that should not be
  sufficient reason to preclude the allocator from at least trying
  harder when it's in a tight spot.

  [1] This is what I infer you're saying from this post and this
      earlier one:
  http://docs.freebsd.org/cgi/getmsg.cgi?fetch=333614+0+archive/2003/  \
  freebsd-arch/20030126.freebsd-arch

> -- Terry

  As for the flags renaming, although I would like to see it, Sam made
  a good point in the first response to this post.  Now let's just let
  it die and move on to bigger and better things.

-- 
Bosko Milekic * bmilekic@unixdaemons.com * bmilekic@FreeBSD.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030221150743.A79345>