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

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

[identity profile] mds.livejournal.com 2014-01-26 01:47 pm (UTC)(link)
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."

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

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

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

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

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

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

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

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

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