lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Desnoyers via lttng-dev <lttng-dev@lists.lttng.org>
To: Norbert Lange <nolange79@gmail.com>
Cc: lttng-dev <lttng-dev@lists.lttng.org>
Subject: Re: [lttng-dev] [PATCH 1/2] lttng_ust_init_thread: initialise cached context values
Date: Wed, 20 Jul 2022 16:48:04 -0400 (EDT)	[thread overview]
Message-ID: <1505688139.75465.1658350084533.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <CADYdroOM93P9HyxZQAuEhZZNFWXoDobh3XTwCdCO0j0BG5rANQ@mail.gmail.com>

----- On Jul 20, 2022, at 4:00 PM, Norbert Lange nolange79@gmail.com wrote:

> Am Di., 19. Juli 2022 um 21:39 Uhr schrieb Mathieu Desnoyers
> <mathieu.desnoyers@efficios.com>:
>>
>> ----- On Jul 18, 2022, at 5:59 PM, Norbert Lange via lttng-dev
>> lttng-dev@lists.lttng.org wrote:
>>
>> > Modify all relevant *_alloc_tls functions so that they take an
>> > argument for 'init'. Setting this to 'true' will read
>> > the actual context value and store it into a thread local
>> > cache.
>> >
>> > The function 'lttng_ust_init_thread' will use this to
>> > precalculate context values. Tracepoints can then avoid
>> > systemcalls.
>>
>> Rather than integrating two unrelated things within "alloc_tls"
>> functions, I would prefer that we split things like this, e.g.:
>>
>> keep lttng_cgroup_ns_alloc_tls() as is.
>>
>> Introduce lttng_ust_cgroup_init_thread() which would
>> call (void)get_cgroup_ns().
>>
>> Likewise for all other contexts.
>>
>> Thoughts ?
> 
> is this just a matter of the function name? The "things" are
> related as they both prepare the same thread local cache.
> 
> ie.
> rename lttng_cgroup_ns_alloc_tls(bool init) to
> lttng_ust_cgroup_init_thread(bool initcache)?
> 
> Don't care much either way,I  just usually try to limit symbols.

So AFAIU when only alloc_tls is needed, you would just change that
for lttng_ust_cgroup_init_thread(false), correct ?

I would then prefer that we introduce flags rather than rely on a
boolean to make it immediately clear what is done from the callsite,
e.g.:

enum lttng_ust_init_thread_flags {
  LTTNG_UST_INIT_THREAD_TLS = (1 << 0),
  LTTNG_UST_INIT_THREAD_CONTEXT_CACHE = (1 << 1),
}

lttng_ust_cgroup_init_thread(int init_thread_flags)

And then call either:

lttng_ust_cgroup_init_thread(LTTNG_UST_INIT_THREAD_TLS)
to initialize the tls.

lttng_ust_cgroup_init_thread(LTTNG_UST_INIT_THREAD_CONTEXT_CACHE)
to initialize the thread context cache.

or
lttng_ust_cgroup_init_thread(LTTNG_UST_INIT_THREAD_TLS | LTTNG_UST_INIT_THREAD_CONTEXT_CACHE)
to initialize both.

Thoughts ?

Thanks,

Mathieu

> 
> Regards,
> Norbert

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

      reply	other threads:[~2022-07-20 20:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-18 21:59 [lttng-dev] [PATCH 1/2] lttng_ust_init_thread: initialise cached context values Norbert Lange via lttng-dev
2022-07-18 21:59 ` [lttng-dev] [PATCH 2/2] lttng_ust_init_thread: call urcu_register_thread Norbert Lange via lttng-dev
2022-07-19 19:40   ` Mathieu Desnoyers via lttng-dev
2022-07-19 19:39 ` [lttng-dev] [PATCH 1/2] lttng_ust_init_thread: initialise cached context values Mathieu Desnoyers via lttng-dev
2022-07-20 20:00   ` Norbert Lange via lttng-dev
2022-07-20 20:48     ` Mathieu Desnoyers via lttng-dev [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1505688139.75465.1658350084533.JavaMail.zimbra@efficios.com \
    --to=lttng-dev@lists.lttng.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=nolange79@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).