| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
0f22987a2824410add2233f4434e26c9e1903da1
|
| |
|
|
|
|
|
| |
attributes
No tests for now
9e6aa6815b8d892d1e76281e95f5d044196801e1
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AfterSwitch and improved registry algorithm
1) Added FunctionView -- non-owning type-erasure container. If we know that lambda lifetime is long enough, we can save up allocation by using this instead of TCallback.
2) Used FunctionView as AfterSwitch inside FiberSchedulerThread. We saved up a bunch of allocations (e.g. net worst-case allocations per suspend changed from 4 (x2 after switch + fiber allocation + enqueue to idle pool lf stack) to 2 (fiber allocation + enqueue to idle pool lf stack).
3) Fiber is not longer RefCounted. Its lifetime is managed via contract with TFiberRegistry.
4) TFiberRegistry is now lock-free for fiber insertion and deletion. For introspector it is still blocking.
5) "Introduced" SimpleIntrusiveList and IntrusiveMPSCStack to work be used in aforementioned TFiberRegistry.
6) elsedef branch of YT_REUSE_FIBERS was broken for about 3 years cause of double SetAfterSwitch. Now fixed.
7) (3), (4) and (5) caused some changes in yt_fiber_printers because some stuff was hardcoded there. Compat is in place.
d6cf2ae5801c87813a21ca3e7243e1b2baa09f35
|
| |
|
|
|
| |
Iss
50866203dbb2e8797cb32b2d1fdaa44bda88e1c1
|
| |
|
|
|
|
|
| |
simple attributes
Expand the CompositeException
9a10ec65bfc1df854e03bb3a4d8d0a0c0e4a3a5d
|
| |
|
|
|
| |
Increase preprocessor recursion depth limit because after commit YT-21331 to release branch number of enum fields exceeds 199
3536c4e6a39e1d48a4225f4845f43b16025ec73c
|
| |
|
|
| |
47845f7aede6898d43680bd7c6f1d48c05607e34
|
| | |
|
| |
|
|
| |
62c4cf20966ac12ba500e1b7f7f048969a8aacca
|
| |
|
|
| |
f637e6debdcb60f78ab07fb4be833a881a1452f7
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
|
| |
|
|
|
| |
* Library import 8
* Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
|
| | |
|
| | |
|
| |
|
|
|
| |
* Library import 5, delete go dependencies
* Fix yt client
|
| |
|
|
|
|
|
| |
* Import libs 1
* Add new file without extension
* Add file missed in export config
|
| | |
|
| |
|
|
| |
First commit
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Update tools: yexport, os-yexport
|
| |
|
|
|
|
|
|
|
|
| |
We are building a service that uses dynamic tables as a metadata storage. Cypress is used for a leader election and prerequisite transactions are used to prevent races, however prerequisite transactions are not supported for dynamic table operations. This PR fixes that.
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
---
Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/162
|
| | |
|
| | |
|
| |
|
|
| |
Some new overloads to better support allocationId as strongly typed entity
|
| |
|
|
| |
it now
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mentioned tracking
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) Все эти действия имеют эффект только в дебаг сборке. В релизе вся эта диагностика стирается.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
First commit
|
| | |
|
| | |
|
| |
|
|
| |
https://clubs.at.yandex-team.ru/arcadia/29404
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
In addition to #89, there is one more minor fix. GCC doesn't allow putting `__attribute__((weak))` before the `extern "C"` and produces non-weak symbols. Proof: https://godbolt.org/z/h48fYsGMW
---
Pull Request resolved: #96
|