Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jan 2003 18:38:40 -0700
From:      Scott Long <scott_long@btc.adaptec.com>
To:        Bosko Milekic <bmilekic@unixdaemons.com>
Cc:        Nate Lawson <nate@root.org>, Bruce Evans <bde@zeta.org.au>, Alfred Perlstein <alfred@freebsd.org>, cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/alpha/alpha busdma_machdep.c src/sys/alpha/osf1 imgact_osf1.c osf1_misc.c src/sys/cam cam_periph.c cam_sim.c cam_xpt.c src/sys/cam/scsi scsi_cd.c scsi_ch.c scsi
Message-ID:  <3E2DF620.2040700@btc.adaptec.com>
In-Reply-To: <20030122100003.K30758-100000@gamplex.bde.org>
References:  <20030122100003.K30758-100000@gamplex.bde.org> <Pine.BSF.4.21.0301211726290.66961-100000@root.org> <20030121203745.A74950@unixdaemons.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Bosko Milekic wrote:

> On Tue, Jan 21, 2003 at 05:29:47PM -0800, Nate Lawson wrote:
>
> >On Wed, 22 Jan 2003, Bruce Evans wrote:
> >
> >>>On Tue, 21 Jan 2003, Alfred Perlstein wrote:
> >>>
> >>>>  Log:
> >>>>  Remove M_TRYWAIT/M_WAITOK/M_WAIT.  Callers should use 0.
> >>>>  Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
> >>
> >>Robert Watson wrote:
> >>
> >>>Hmm.  I guess I missed the discussion; I'm a bit behind on mailing 
> lists.
> >>>To improve code portability and careful thinking by developers, 
> what I'd
> >>>like to see is something more like the following: M_WAITOK, which
> >>>explicitly requests sleeping indefinitely, M_NOWAIT, which explicitly
> >>>requests no sleeping.  Rather than a "default" value, a
> >>
> >>That's exactly what M_WAITOK was supposed to do.  Developers just had to
> >>think about it since it wasn't really a flag so it was not easy to check
> >>automatically.
> >
> >I like Robert's approach -- keep the flags as they were before but give
> >M_WAITOK a value other than 0 and deprecate passing in 0 as an arg.  This
> >change only would affect binary kld compat and if 0 only generated a
> >printf warning (one-shot) but still meant M_WAITOK for a little while,
> >that would ease the migration.
> >
> >-Nate
>
>
>   The compatibility argument doesn't really carry that much weight
>   'cause you have to remember that our semantics are actually different
>   from the other BSDs.  I can certainly confirm this for the mbuf code.
>   For example, we already have a different name for the "wait"
>   equivalent of the flag (it's M_TRYWAIT not M_WAIT) and, further,
>   calling the allocator function with M_TRYWAIT for us doesn't mean the
>   same thing as calling the allocator function with M_WAIT does on the
>   other BSDs (for the mbuf code, anyway).  Furthermore, I think that the
>   other BSDs still actually 'share' the wait and dontwait flags with the
>   between the malloc() and mbuf allocator subsystems (somewhat for
>   historical reasons on which I can elaborate if you think that it's
>   necessary).
>
>   Clearly, we've already got not only API differences but even more
>   importantly semantics differences with the other BSDs in this area.
>   Fighting to keep the old code for 'compatibility' reasons is therefore
>   kind of pointless.
>
> Regards,

Bosko,

I think that Nate's concern was *binary* compatibilty with 5.0, i.e. being
able to load 5.0 kld's on a 5.1 system.  It's a very noble and worthy goal
to attempt, though at this point I don't know if it's possible.

Scott


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




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