Оживший юзерпик - Они вообще нормальные?
янв. 26, 2014
04:23 pm - Они вообще нормальные?
RCU is a synchronization mechanism that was added to the Linux kernel
during the 2.5 development effort that is optimized for read-mostly
situations. Although RCU is actually quite simple once you understand it,
getting there can sometimes be a challenge. Part of the problem is that
most of the past descriptions of RCU have been written with the mistaken
assumption that there is "one true way" to describe RCU. Instead,
the experience has been that different people must take different paths
to arrive at an understanding of RCU.
Comments:
Mass Action
Групповое действие над комментариями:
имхо, без веществ такое можно только студентам употреблять
в ZFS при модификации блока читаем один физ.блок (Read) и делаем копию для другого физ.блока (Copy), модифицируем и меняем ссылку.
в линуксе RCU - это, фактически, способ отложенного освобождения памяти. используется для lockless-поиска в списках, например. структуру помечают "неактуальной", из списка удаляется (это под локом) и планирует ее позднее освобождение. другие ядра по списку ходят без всяких локов, обращая внимание на "актуальность". освобождение происходит когда, условно, все процессы пройдут через schedule, который работает как барьер - гарантирует, что доступа к той структуре больше не будет.