<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/library/cpp/yt/threading/CMakeLists.linux-aarch64.txt, branch CLI_2.8.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.8.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.8.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2023-11-16T15:51:45Z</updated>
<entry>
<title>Active spinlock tracking from pr3151306. Added TracelessGuards to disable mentioned tracking</title>
<updated>2023-11-16T15:51:45Z</updated>
<author>
<name>arkady-e1ppa</name>
<email>arkady-e1ppa@yandex-team.com</email>
</author>
<published>2023-11-16T14:24:02Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=6b40f0f1060a3e9d54347e52c7dc8fb278e6e86b'/>
<id>urn:sha1:6b40f0f1060a3e9d54347e52c7dc8fb278e6e86b</id>
<content type='text'>
1) Добавлена возможность инструментировать ваш любимый мьютекс/спинлок/что-либо с методами Acquire/Release со схожим смыслом. Делается это засчет методов ```NThreading::NDetail::RecordSpinlockAcquired```/```NThreading::NDetail::RecordSpinlockReleased```. Они отслеживают число захваченных спинлоков.

2) Добавлен макрос ```REGISTER_TRACKED_SPIN_LOCK_CLASS```, который позволяет номинально проверить на этапе компиляции, что данный спинлок отслеживается.

3) Добавлен метод ```NThreading::VerifyNoSpinlockAffinity```, который коркается, если число захваченных спинлоков больше нуля.

4) Добавлены Traceless версии (почти) всех гардов, чтобы можно было не отслеживать конкретную критическую секцию, если очень нужно.

5) Внутри файберного ```WaitUntilSet``` вызывается ```VerifyNoSpinlockAffinity``` -- делать ```WaitFor``` или ```Yield``` внутри отслеживаемых критических секций нельзя. Если очень хочется -- используем TracelessGuard нужного вида.

6) Теперь отслеживаются такие спинлоки и их наследники: ```TSpinLock```, ```TRecursiveSpinLock```, ```TReaderWriterSpinLock```.

7) Зарегистрированы как отслеживаемые все вышеперечисленные спинлоки и их Padded версии.

8) Все эти действия имеют эффект только в дебаг сборке. В релизе вся эта диагностика стирается.
</content>
</entry>
<entry>
<title>YT-19210: expose YQL shared library for YT.</title>
<updated>2023-07-28T21:02:16Z</updated>
<author>
<name>max42</name>
<email>max42@yandex-team.com</email>
</author>
<published>2023-07-28T21:02:16Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=73b89de71748a21e102d27b9f3ed1bf658766cb5'/>
<id>urn:sha1:73b89de71748a21e102d27b9f3ed1bf658766cb5</id>
<content type='text'>
After this, a new target libyqlplugin.so appears. in open-source cmake build.
Diff in open-source YDB repo looks like the following: https://paste.yandex-team.ru/f302bdb4-7ef2-4362-91c7-6ca45f329264</content>
</entry>
</feed>
