Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Dec 2021 13:34:28 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        freebsd-dtrace@freebsd.org
Subject:   dtrace: two buffers for ring and fill policies?
Message-ID:  <a7d2bdd6-15de-7d1a-b7e5-3fd7491cc907@FreeBSD.org>

index | next in thread | raw e-mail


I've just noticed that DTrace allocates two per-CPU principal buffers even when 
a bufpolicy of ring or fill is used.
I believe that the second buffer is never used in those cases.

This is the code:
                 if (flags & DTRACEBUF_NOSWITCH)
                         continue;

                 if ((buf->dtb_xamot = kmem_zalloc(size,
                     KM_NOSLEEP | KM_NORMALPRI)) == NULL)
                         goto err;

As far as I can see,  DTRACEBUF_NOSWITCH is not implied by DTRACEBUF_RING or 
DTRACEBUF_FILL.
Maybe it should be?

-- 
Andriy Gapon


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a7d2bdd6-15de-7d1a-b7e5-3fd7491cc907>