Size: a a a

2019 May 17

LS

Lev Serebryakov in freebsd_ru
Я нипони.
источник

LS

Lev Serebryakov in freebsd_ru
Этот arc_adjust_zthr — это zthr_create_timer(), а коллбек у него совсем не выглядит как thread proc, оно одноразовое
источник

LS

Lev Serebryakov in freebsd_ru
А, там ещё отдельный check
источник

LS

Lev Serebryakov in freebsd_ru
Божечки
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
а вот то, чему делают вакеап, то там сначла без проверки мутекса чекают arc_adjust_needed по результатам проверки дергают калбак и в нем сначла деалают всякое, потом уже опять берут arc_adjust_lock и еще раз вычисляют по свои правилам arc_adjust_needed
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
ну я что, просто так матерюсь, что ли?
источник

LS

Lev Serebryakov in freebsd_ru
Я пока вообще не понимаю, что такое этот тред-который-не-тред-а-таймер-но-его-можно-разбудить
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
там создается тред с "бесконечным" циклом, который может просыпаться раз в таймер переодически или по CV.
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
просыпаясь он дергает чек и если тру, то кобек
источник

LS

Lev Serebryakov in freebsd_ru
Да, я уже дочитал наконец до этого
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
мне кажется оба варианта из разряда "оба хуже"
источник

LS

Lev Serebryakov in freebsd_ru
И есть ещё лок-на-тред…
источник

LS

Lev Serebryakov in freebsd_ru
Vyacheslav Olkhovchenkov
мне кажется оба варианта из разряда "оба хуже"
Но вот вопрос задать почесу разное — мне кажется, стоит.
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
да помоему там всем похуй.
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
если даже на сломанный MRU/MFU не реагируют.
источник

VO

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

LS

Lev Serebryakov in freebsd_ru
Не-не-не, на такие гарантии точно полагаться нельзя
источник

LS

Lev Serebryakov in freebsd_ru
Кажется, никто и не полагается.
Иначе это ошибка примерно первого года программирования с тредами
источник

VO

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

VO

Vyacheslav Olkhovchenkov in freebsd_ru
ну нельзя сказать что пологается-пологается. покрайне мере так уж впрямую.
источник