Re: Draft for basic NUMA observability

Поиск
Список
Период
Сортировка
От Jakub Wartak
Тема Re: Draft for basic NUMA observability
Дата
Msg-id CAKZiRmyMrynZpEdbrYx2qRB=-_FREYc3oXJnNdTmO36VR3NvpQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Draft for basic NUMA observability  (Bertrand Drouvot <bertranddrouvot.pg@gmail.com>)
Ответы Re: Draft for basic NUMA observability
Список pgsql-hackers
On Tue, Mar 4, 2025 at 5:02 PM Bertrand Drouvot
<bertranddrouvot.pg@gmail.com> wrote:

> > Cool! Attached is v7
> Thanks for the new version!

... and another one: 7b ;)

> > > === 2
[..]
> > Well, I've made query_numa a parameter there simply to avoid that code
> > duplication in the first place, look at those TupleDescInitEntry()...
>
> Yeah, that's why I was mentioning to use a "shared" populate_buffercache_entry()
> or such function: to put the "duplicated" code in it and then use this
> shared function in pg_buffercache_pages() and in the new numa related one.

OK, so hastily attempted that in 7b , I had to do a larger refactor
there to avoid code duplication between those two. I don't know which
attempt is better though (7 vs 7b)..

> > IMHO rarely anybody uses pg_buffercache, but we could add unlikely()
>
> I think unlikely() should be used for optimization based on code path likelihood,
> not based on how often users might use a feature.

In 7b I've removed the unlikely() - For a moment I was thinking that
you are concerned about this loop for NBuffers to be as much optimized
as it can and that's the reason for splitting the routines.

> > > === 5
[..]
> I meant to say avoid code duplication between pg_get_shmem_allocations() and
> pg_get_shmem_numa_allocations(). It might be possible to create a shared
> function for them too. That said, it looks like that the savings (if any), would
> not be that much, so maybe just forget about it.

 Yeah, OK, so let's leave it at that.

-J.

Вложения

В списке pgsql-hackers по дате отправления: