tobotras: (Default)
[personal profile] tobotras
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.

Date: 2014-01-26 01:39 pm (UTC)
From: [identity profile] zinal.livejournal.com
Это, видимо, итоги многочисленных попыток объяснить большому количеству малограмотных конкретную реализацию поддержки RCU. IMHO имело смысл начать с общего описания механизма (ну хотя бы отсюда взять можно было), а потом уже объяснить особенности конкретной реализации. Но данные конкретные "ядерные" люди, видимо, не могут уже объяснять идею "вообще", а только в привязке к данной реализации :)

Date: 2014-01-26 01:47 pm (UTC)
From: [identity profile] mds.livejournal.com
And the LORD spake, saying, "First shalt thou take out the Holy Pin, then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thy foe, who being naughty in My sight, shall snuff it."

Date: 2014-01-26 02:29 pm (UTC)
From: [identity profile] mds.livejournal.com
только если за ради "знать откуда эта цитата".
имхо, без веществ такое можно только студентам употреблять

Date: 2014-01-26 02:30 pm (UTC)
From: [identity profile] mds.livejournal.com
на самом деле, основные гэги описаны в википедии. Как и то, что они пародируют :)

Date: 2014-01-26 03:47 pm (UTC)
From: [identity profile] tnt23.livejournal.com
Однозначно! Я их слишком поздно для себя открыл (и до сих пор продолжаю слишком поздно для себя открывать ))

Date: 2014-01-26 11:52 pm (UTC)
From: [identity profile] darsh.livejournal.com
Начни для разминки с поиска по "my hovercraft is full of eels" :-)

Date: 2014-01-26 10:02 pm (UTC)
From: [identity profile] vm-lj.livejournal.com
Конечно они нет, но что именно тебя настораживает?

Date: 2014-01-28 03:03 pm (UTC)
From: [identity profile] alex-tomas.livejournal.com
потому что RCU в ядре - это не совсем read-copy-update. настоящий RCU - в zfs, например.

Date: 2014-01-28 05:00 pm (UTC)
From: [identity profile] alex-tomas.livejournal.com
чтобы и менять "туда" записать? :))) попробую..

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

в линуксе RCU - это, фактически, способ отложенного освобождения памяти. используется для lockless-поиска в списках, например. структуру помечают "неактуальной", из списка удаляется (это под локом) и планирует ее позднее освобождение. другие ядра по списку ходят без всяких локов, обращая внимание на "актуальность". освобождение происходит когда, условно, все процессы пройдут через schedule, который работает как барьер - гарантирует, что доступа к той структуре больше не будет.

Profile

tobotras: (Default)
tobotras

October 2017

S M T W T F S
1234567
8 9 1011121314
15 161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 20th, 2017 06:53 am
Powered by Dreamwidth Studios