170 похожих чатов

Есть чудесный файл https://cs.opensource.google/go/go/+/refs/tags/go1.16.6:src/runtime/preempt.go Прямо в заголовке которого кратко описан весь

механизм
Зачем спорить то?)

13 ответов

23 просмотра

Тогда к чему вопросы? Там все ясно написано.

Sergey Z.
Тогда к чему вопросы? Там все ясно написано.

Ну там инспекция в signal handler, AFAIK. И прерывание через него.

Roman Timofeev
Ну там инспекция в signal handler, AFAIK. И преры...

Ну какая разница из-за чего дёргается инспекция. Речь была про то, как и кто размечает код и расставляет сейфпоинты.

Sergey Z.
Ну какая разница из-за чего дёргается инспекция. Р...

Ну компилятор навтыкал флажков + инспекция в обработчике

Sergey Z.
Тогда к чему вопросы? Там все ясно написано.

// Preemption at asynchronous safe-points is implemented by suspending // the thread using an OS mechanism (e.g., signals) там ясно написано про вытеснение и как оно реализовано, а не юзерспейс и ядерный планировщик

Roman Timofeev
Ну компилятор навтыкал флажков + инспекция в обраб...

Ну. Да. Ты сам ответил на свой вопрос "Почему бы руками не вызывать планировщик?" Потому что это можно автоматизировать и оптимизировать.

c
// Preemption at asynchronous safe-points is imple...

Ядро ничего не знает про горутины. Оно не планирует их выполнение.

Sergey Z.
Ну. Да. Ты сам ответил на свой вопрос "Почему бы р...

Меня смутила история про планировщик в отдельном треде и какую-то инспекцию извне. С таким же успехом можно было вместо safe points раскладывать runtime.Goshed() срабатывающий в какой-то % итераций

Roman Timofeev
Меня смутила история про планировщик в отдельном т...

я боюсь оно не очень эффективно будет раскладываться

Roman Timofeev
Меня смутила история про планировщик в отдельном т...

Goshed, вроде, просто помечает горутину безопасной и дёргает планировщик. У него масштаб другой. А то за тебя компилятор все точечно разметит под каждую конкретную архитектуру процессора, на уровне инструкций.

c
я боюсь оно не очень эффективно будет раскладывать...

Хотя, признаюсь честно что идея с сигналами-изящная

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта