Size: a a a

2019 May 17

l

linxon in freebsd_ru
Lev Serebryakov
Есть два сайта...
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
курсантам слова не давали
источник

LS

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

LS

Lev Serebryakov in freebsd_ru
Но я ещё до первого релиза пробовал
источник

LS

Lev Serebryakov in freebsd_ru
А он растёт бодро
источник

LS

Lev Serebryakov in freebsd_ru
Но всё равно непонятно как структуру проекта FreeBSD в него запихнуть, что бы он знал для чего где инклюды и тому подобное
источник

LS

Lev Serebryakov in freebsd_ru
Vyacheslav Olkhovchenkov
слушайте, ведь это же нехорошо, если везде
mutex_enter(&arc_adjust_lock);
   arc_adjust_needed = B_TRUE;
   zthr_wakeup(arc_adjust_zthr);
   mutex_exit(&arc_adjust_lock);

а в одном месте
mutex_enter(&arc_adjust_lock);
       arc_adjust_needed = B_TRUE;
       mutex_exit(&arc_adjust_lock);
       zthr_wakeup(arc_adjust_zthr);
Да, вот первое очень подозрительно. или второе.
источник

LS

Lev Serebryakov in freebsd_ru
А чо мы опять на вы, кстати? :)
источник

LS

Lev Serebryakov in freebsd_ru
Мне кажется, такой кусок кода должен быть консистентным
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
гм, а что так именно первое-то подозрительно, а не втрое?
источник

LS

Lev Serebryakov in freebsd_ru
Vyacheslav Olkhovchenkov
гм, а что так именно первое-то подозрительно, а не втрое?
Я не знаю, что такое zthr_wakeup(), это CV или что? Если CV то оно строго внутри соовтествующего мьютекса должно быть. А если просто пробуждение потока который просто спит, то я бы сказал что после мьютекса (и барьера) оно естественней.
источник

LS

Lev Serebryakov in freebsd_ru
Хотя если там поток проснувшись первым делалом берёт этот же мьютекс то плюс-минус пофиг, fairness будет может чуть-чуть разная
источник

LS

Lev Serebryakov in freebsd_ru
Если потоков больше 2
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
оно там с другим мутексом работает
источник

LS

Lev Serebryakov in freebsd_ru
Но глаз царапает в любом случае, ты прав
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
там обощение и типа класса придумали (бладж, аргументы при этом нестандартно передают, а у инстансов proctitle не ставят, нах)
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
и вот там есть свой мутекс и своя CV
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
наружу типа не видать и напрямую с ними не работают.
источник

LS

Lev Serebryakov in freebsd_ru
Это ещё и таймер какой-то
источник

LS

Lev Serebryakov in freebsd_ru
Ох, да, читаю код в arc.c, адик какой многопоточный
источник