Re: KTLS thread on 14.0-RC3

From: Gordon Bergling <gbe_at_freebsd.org>
Date: Mon, 13 Nov 2023 04:11:03 UTC
Hi,

On Wed, Nov 01, 2023 at 09:01:32AM +0800, Zhenlei Huang wrote:
> > On Nov 1, 2023, at 8:37 AM, Rick Macklem <rick.macklem@gmail.com> wrote:
> > On Tue, Oct 31, 2023 at 10:06 AM John Baldwin <jhb@freebsd.org <mailto:jhb@freebsd.org>> wrote:
> >> On 10/30/23 3:41 AM, Zhenlei Huang wrote:
> >>>> On Oct 30, 2023, at 12:09 PM, Zhenlei Huang <zlei@FreeBSD.org> wrote:
> >>>>> On Oct 29, 2023, at 5:43 PM, Gordon Bergling <gbe@freebsd.org> wrote:
> >>>>> 
> >>>>> Hi,
> >>>>> 
> >>>>> I am currently building a new system, which should be based on 14.0-RELEASE.
> >>>>> Therefor I am tracking releng/14.0 since its creation and updating it currently
> >>>>> via the usualy buildworld steps.
> >>>>> 
> >>>>> What I have noticed recently is, that the [KTLS] is missing. I have a stable/13
> >>>>> system which shows the [KTLS] thread and a very recent -CURRENT that also shows
> >>>>> the [KTLS] thread.
> >>>>> 
> >>>>> The stable/13 and releng/14.0 systems both use the GENERIC kernel, without any
> >>>>> custom modifications.
> >>>>> 
> >>>>> Loaded KLDs are also the same.
> >>>>> 
> >>>>> Did I miss something, or is there something in releng/14.0 missing, which
> >>>>> is currenlty enabled in stable/13?
> >>>> 
> >>>> KTLS shall still work as intended, the creation of it threads is deferred.

Thanks for the information, I wasn't aware of this change.

> >>>> See a72ee355646c (ktls: Defer creation of threads and zones until first use)
> >>>>> Run ktls_init() when the first KTLS session is created rather than
> >>>>> unconditionally during boot.  This avoids creating unused threads and
> >>>>> allocating unused resources on systems which do not use KTLS.
> >>>> 
> >>>> ```
> >>>> -SYSINIT(ktls, SI_SUB_SMP + 1, SI_ORDER_ANY, ktls_init, NULL);
> >>>> ```
> >>> 
> >>> Seems 14.0 only create one KTLS thread.
> >>> 
> >>> IIRC 13.2 create one thread per core.
> >> 
> >> That part should not be different.  There should always be one thread per core.
> > Just fyi, I see one thread/core.
> > Did you happen to do something like "ps ax" instead of "ps axHl"?
> 
> Yes, I typed "ps auxx".  `ps axHl` is the right way to get kernel threads.
> Sorry for the noise.
> 
> > 
> > rick
> > ps: I also see a reclaim_0 thread.

-- Gordon