Size: a a a

2019 May 17

VO

Vyacheslav Olkhovchenkov in freebsd_ru
да ну их спрашивать, они же типа умные, а мы все тупые
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
барьер-хуер, это в разных тредах.
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
т.е. в данном случае это в лучшем случае чисто атомик. про другие записи -- это отдельный разговор вообще, конкретно тут конкретный отсыл на эту функцию и комент в ней.
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
т.е. другие записи я посмотрел и э, в недоумении. но это недоумение отдельное.
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
Author: Brad Lewis <brad.lewis@delphix.com>
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
не знаю такого вообще
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
вообще мне не нравится как тут с этим локом обходятся.
источник

LS

Lev Serebryakov in freebsd_ru
Я не понимаю комментария, он написан к функции, возвращающей глобальную переменную а говорит ещё о 3 или 4 функциях в других тредах (?)
источник

AE

Andrey Elsukov in freebsd_ru
можно подумать у тебя из-за этого мьютекса прям производительность упала? :)
источник

AF

Andrey F in freebsd_ru
ну побухтеть то в чятике это не мешает ;)
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
ну во-первых упасть запросто может. во-вторых делоки можно же словить.
источник

LS

Lev Serebryakov in freebsd_ru
Т.е. надо брать и ходить по ссылкам из этих комментариев, смотреть где и как ещё берётся этот мьютекс, где ещё этот глобал и как используется.
Если честно, мне после привычки к навигации в коде от IDEA, очень трудно (психологически) такое делать с C'шным кодом масштаба ZFS.
источник

LS

Lev Serebryakov in freebsd_ru
Потому что я лох и не умею в vim + ctags, да
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
этот коментарий говорит еще о локах, но в этой функции нет никаких локов, бладж!
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
насчет производительности, то при врозникновении условия arc_size > arc_c и до выполнения шринка ты можешь получить скажем 100К/s взятий-освобождений лока со всех ядер. ты считаешь это не скажется на производительности?
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
так. я этого чувака вообще не понимаю. я что, настолько тупой? sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zthr.c
смотрим zthr_procedure(void *arg)
там берется mutex_enter(&t->zthr_lock); и если у нас не случился успешный t->zthr_checkfunc(t->zthr_arg, t) то мы этот мутекс не отпускам.
теперь смотрим zthr_cancel(zthr_t *t)
сначала берем мутекс mutex_enter(&t->zthr_lock);
и получается висим до морковкиного загвения? или я что-то не догоняю?
источник

AE

Andrey Elsukov in freebsd_ru
непонятно кому ты тут это пишешь
источник

AE

Andrey Elsukov in freebsd_ru
спроси в ответ на коммит, пусть объяснит
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
там меня все игнорируют. и по более простым вопросам. да и может я и правда тупой, а тут есть умные люди, которые ядро пишут. может хоть пояснят где я неправ, может я семантику мутекса не понимаю.
источник

AE

Andrey Elsukov in freebsd_ru
никто тут не пишет zfs, на сколько я знаю
источник