Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jul 2023 11:29:20 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, src-committers@freebsd.org,  dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 60381fd1ee86 - main - memdesc: Retire MEMDESC_CCB.
Message-ID:  <CANCZdfoHid=H1Ys_4XTJPfCaifevSoW92nGYXU3Ot=mTT13T%2Bg@mail.gmail.com>
In-Reply-To: <65d7d8d8-9f98-abd2-1ce3-ae3a2d3bf111@FreeBSD.org>
References:  <202307141841.36EIf3f0019403@gitrepo.freebsd.org> <ZLVizUl1Xyo1AQmy@kib.kiev.ua> <65d7d8d8-9f98-abd2-1ce3-ae3a2d3bf111@FreeBSD.org>

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

[-- Attachment #1 --]
On Mon, Jul 17, 2023 at 11:15 AM John Baldwin <jhb@freebsd.org> wrote:

> On 7/17/23 8:48 AM, Konstantin Belousov wrote:
> > On Fri, Jul 14, 2023 at 06:41:03PM +0000, John Baldwin wrote:
> >> The branch main has been updated by jhb:
> >>
> >> URL:
> https://cgit.FreeBSD.org/src/commit/?id=60381fd1ee8668ea1e4676a6128883d987cab858
> >>
> >> commit 60381fd1ee8668ea1e4676a6128883d987cab858
> >> Author:     John Baldwin <jhb@FreeBSD.org>
> >> AuthorDate: 2023-07-14 18:30:31 +0000
> >> Commit:     John Baldwin <jhb@FreeBSD.org>
> >> CommitDate: 2023-07-14 18:32:16 +0000
> >>
> >>      memdesc: Retire MEMDESC_CCB.
> >>
> >>      Instead, change memdesc_ccb to examine the CCB and return a
> memdesc of
> >>      a more generic type describing the data buffer.
> >
> >> diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c
> >> index 65a08aeba17c..bfaad30b37d3 100644
> >> --- a/sys/kern/subr_bus_dma.c
> >> +++ b/sys/kern/subr_bus_dma.c
> >> @@ -304,94 +304,6 @@ bus_dmamap_load_ma_triv(bus_dma_tag_t dmat,
> bus_dmamap_t map,
> >> @@ -566,49 +478,18 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat,
> bus_dmamap_t map, union ccb *ccb,
> >> +    mem = memdesc_ccb(ccb);
> >> +    return (bus_dmamap_load_mem(dmat, map, &mem, callback,
> callback_arg,
> >> +        flags));
> >>   }
> > This makes kernel not linkable if CAM is not included into it.
>
> Hmmm, ok.  I can either move the memdesc_ccb routine into sys/kern
> somewhere
> (like the kern_memdesc.c file in my other pending review), or we can #ifdef
> this function.  It probably doesn't make sense to have a
> bus_dmamap_load_ccb
> if you don't have CAM, so I think I prefer the second option.
>

MINIMAL doesn't have CAM configured, but it is loadable as a module.

I'd think we'd want a dummy one fo these with weak symbol binding and have
the actual
one live in cam somewhere that overrides this  symbol.

I just hit this in building MINIMAL for other reasons....

Warner

[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 17, 2023 at 11:15 AM John Baldwin &lt;<a href="mailto:jhb@freebsd.org">jhb@freebsd.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 7/17/23 8:48 AM, Konstantin Belousov wrote:<br>
&gt; On Fri, Jul 14, 2023 at 06:41:03PM +0000, John Baldwin wrote:<br>
&gt;&gt; The branch main has been updated by jhb:<br>
&gt;&gt;<br>
&gt;&gt; URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=60381fd1ee8668ea1e4676a6128883d987cab858" rel="noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=60381fd1ee8668ea1e4676a6128883d987cab858</a><br>;
&gt;&gt;<br>
&gt;&gt; commit 60381fd1ee8668ea1e4676a6128883d987cab858<br>
&gt;&gt; Author:     John Baldwin &lt;jhb@FreeBSD.org&gt;<br>
&gt;&gt; AuthorDate: 2023-07-14 18:30:31 +0000<br>
&gt;&gt; Commit:     John Baldwin &lt;jhb@FreeBSD.org&gt;<br>
&gt;&gt; CommitDate: 2023-07-14 18:32:16 +0000<br>
&gt;&gt;<br>
&gt;&gt;      memdesc: Retire MEMDESC_CCB.<br>
&gt;&gt;      <br>
&gt;&gt;      Instead, change memdesc_ccb to examine the CCB and return a memdesc of<br>
&gt;&gt;      a more generic type describing the data buffer.<br>
&gt; <br>
&gt;&gt; diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c<br>
&gt;&gt; index 65a08aeba17c..bfaad30b37d3 100644<br>
&gt;&gt; --- a/sys/kern/subr_bus_dma.c<br>
&gt;&gt; +++ b/sys/kern/subr_bus_dma.c<br>
&gt;&gt; @@ -304,94 +304,6 @@ bus_dmamap_load_ma_triv(bus_dma_tag_t dmat, bus_dmamap_t map,<br>
&gt;&gt; @@ -566,49 +478,18 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, bus_dmamap_t map, union ccb *ccb,<br>
&gt;&gt; +    mem = memdesc_ccb(ccb);<br>
&gt;&gt; +    return (bus_dmamap_load_mem(dmat, map, &amp;mem, callback, callback_arg,<br>
&gt;&gt; +        flags));<br>
&gt;&gt;   }<br>
&gt; This makes kernel not linkable if CAM is not included into it.<br>
<br>
Hmmm, ok.  I can either move the memdesc_ccb routine into sys/kern somewhere<br>
(like the kern_memdesc.c file in my other pending review), or we can #ifdef<br>
this function.  It probably doesn&#39;t make sense to have a bus_dmamap_load_ccb<br>
if you don&#39;t have CAM, so I think I prefer the second option.<br></blockquote><div><br></div><div>MINIMAL doesn&#39;t have CAM configured, but it is loadable as a module.</div><div><br></div><div>I&#39;d think we&#39;d want a dummy one fo these with weak symbol binding and have the actual</div><div>one live in cam somewhere that overrides this  symbol.</div><div><br></div><div>I just hit this in building MINIMAL for other reasons....<br></div><div><br></div><div>Warner<br></div></div></div>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfoHid=H1Ys_4XTJPfCaifevSoW92nGYXU3Ot=mTT13T%2Bg>