?

Log in

No account? Create an account

Они вообще нормальные? - Оживший юзерпик

Jan. 26th, 2014

04:23 pm - Они вообще нормальные?

Previous Entry Share Next Entry

Comments:

From:alex_tomas
Date:January 28th, 2014 03:03 pm (UTC)
(Link)
потому что RCU в ядре - это не совсем read-copy-update. настоящий RCU - в zfs, например.
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:January 28th, 2014 04:51 pm (UTC)
(Link)
А в чём разница, в двух словах?
(Reply) (Parent) (Thread)
From:alex_tomas
Date:January 28th, 2014 05:00 pm (UTC)
(Link)
чтобы и менять "туда" записать? :))) попробую..

в ZFS при модификации блока читаем один физ.блок (Read) и делаем копию для другого физ.блока (Copy), модифицируем и меняем ссылку.

в линуксе RCU - это, фактически, способ отложенного освобождения памяти. используется для lockless-поиска в списках, например. структуру помечают "неактуальной", из списка удаляется (это под локом) и планирует ее позднее освобождение. другие ядра по списку ходят без всяких локов, обращая внимание на "актуальность". освобождение происходит когда, условно, все процессы пройдут через schedule, который работает как барьер - гарантирует, что доступа к той структуре больше не будет.
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:January 28th, 2014 05:09 pm (UTC)
(Link)
Спасибо!
(Reply) (Parent) (Thread)