Тёмный

Lightning Talk: A Spinlock Implementation - Fedor Pikus - CppNow 2022 

CppNow
Подписаться 32 тыс.
Просмотров 5 тыс.
50% 1

CppNow Website: www.cppnow.org​
CppNow Twitter: @CppNow​
---
Lightning Talk: A Spinlock Implementation - Fedor Pikus - CppNow 2022
---
Fedor Pikus presents this CppNow lightning talk on "A Spinlock Implementation" at the CppNow 2022 C++ conference held in Aspen, Colorado.
---
Fedor Pikus
---
Videos Filmed & Edited By Bash Films bashfilms.com/
RU-vid Channel Managed By Digital Medium Ltd: events.digital...
#Boost​ #Cpp​ #CppNow​

Опубликовано:

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 9   
@denispronin2417
@denispronin2417 2 года назад
The second question is whether yield() call really works worse than just calling nanosleep, is it true? Linux kernel, when you call yield(), utilizes system call that does nothing but schedule() that places the current task at the end of the TASK_RUNNING process ready-to-work queue. I can't explain to myself why it is not the fastest way to give the CPU in and take it back as soon as possible
@bogdanivanovic3176
@bogdanivanovic3176 2 года назад
thanks man you are great. you got a new subscriber :)
@piotrarturklos
@piotrarturklos 2 года назад
Awesome! And it's a lightning talk, which is more awesome still.
@BoostCon
@BoostCon 2 года назад
Glad you like it!
@denispronin2417
@denispronin2417 2 года назад
How do you cope with preemption that you cannot control in userspace but you're able to control in kernel space? Suppose, you locked a spinlock and while being in critical section you were rescheduled and placed in the wait list, suspended and waited for the next portion of time to continue executing. Other threads will definitely be stuck on spinning around the locked spinlock. Do I correctly understand that your nanosleep technique will help to reschedule the tasks stuck on spinning around the spinlock letting eventually the task that owns the spinlock exit the wait list and continue executing in critical section?
@JoJo-fy2vb
@JoJo-fy2vb Год назад
what about `__builtin_ia32_pause()` / this_thread::yield() as opposed to nanosleep?
@joachimjoyaux179
@joachimjoyaux179 2 года назад
Impressive ! thanks
@BoostCon
@BoostCon 2 года назад
Thanks for watching and commenting.
@peterfeatherstone9768
@peterfeatherstone9768 Год назад
Is there a way to turn this into a recursive spinlock?
Далее
Arvid Norberg: The C++ memory model: an intuition
25:37
V16 из БЕНЗОПИЛ - ПЕРВЫЙ ЗАПУСК
13:57
Branchless Programming in C++ - Fedor Pikus - CppCon 2021
1:03:57
Writing Code That Runs FAST on a GPU
15:32
Просмотров 560 тыс.
ARRAYLIST VS LINKEDLIST
21:20
Просмотров 64 тыс.
Interview with Sr. C Dev | Prime Reacts
6:52
Просмотров 374 тыс.
What is a spinlock? //Source Dive// 002
54:26
Просмотров 47 тыс.