Size: a a a

2020 May 04

in pro.cxx
Ignat Loskutov
Ну да, страница или замаплена в адресное пространство процесса, или нет
А, теперь все ясно. Спасибо!
источник

t

tdiff in pro.cxx
Друзья, можно ли использовать qemu для отладки/тестов lock free алгоритмов?

Допустим, у меня на ноуте 2 ядра, я хочу проверить SPMC очередь на 10 читателях. Если я создам в qemu 10 vCPU, они будут пытаться эмулировать 10 кэшей, модель памяти и т.д.?
источник
2020 May 05

TS

Timur Safin in pro.cxx
tdiff
Друзья, можно ли использовать qemu для отладки/тестов lock free алгоритмов?

Допустим, у меня на ноуте 2 ядра, я хочу проверить SPMC очередь на 10 читателях. Если я создам в qemu 10 vCPU, они будут пытаться эмулировать 10 кэшей, модель памяти и т.д.?
(это офтопик здесь. Более релевантно, скорее, @pro_osdev)

QEMU - функциональный симулятор, ему крайне неинтересно моделировать побочные эффекты в кеше далее обращения в память (это будет сильно тормозить симуляцию). Но, вроде бы, есть performance симуляторы (clock-precise) которые основываются на QEMU но с моделями кешей, например быстрый гуглинг принес cachesim (так себе модель, только статистика) в qsim
(но qsim не выглядит очень живым)
источник

A

AlexWhite in pro.cxx
Использую граф.движок imgui. Там вся отрисовка в цикле while.
Когда я там прописываю сетевую часть, а т.е какой-нибудь запрос, то он начинает отправляться бесконечно. Как это можно решить?
источник

ПК

Побитый Кирпич... in pro.cxx
AlexWhite
Использую граф.движок imgui. Там вся отрисовка в цикле while.
Когда я там прописываю сетевую часть, а т.е какой-нибудь запрос, то он начинает отправляться бесконечно. Как это можно решить?
Запускай запрос асинхронно и один раз
источник

t

tdiff in pro.cxx
Timur Safin
(это офтопик здесь. Более релевантно, скорее, @pro_osdev)

QEMU - функциональный симулятор, ему крайне неинтересно моделировать побочные эффекты в кеше далее обращения в память (это будет сильно тормозить симуляцию). Но, вроде бы, есть performance симуляторы (clock-precise) которые основываются на QEMU но с моделями кешей, например быстрый гуглинг принес cachesim (так себе модель, только статистика) в qsim
(но qsim не выглядит очень живым)
Спасибо
источник

R

Ruben in pro.cxx
кто-то пользовался boost::beast? Я наткнулся на странную ошибку. Код работает если http::response<boost::beast::http::dynamic_body> response_; является членом класса, и не работает, если является локальной переменной в функции.
источник

SE

Stanislav Ershov in pro.cxx
Ruben
кто-то пользовался boost::beast? Я наткнулся на странную ошибку. Код работает если http::response<boost::beast::http::dynamic_body> response_; является членом класса, и не работает, если является локальной переменной в функции.
э?
источник

R

Ruben in pro.cxx
a.out: /usr/include/boost/intrusive/detail/hook_traits.hpp:62: static boost::intrusive::bhtraits_base<T, NodePtr, Tag, Type>::pointer boost::intrusive::bhtraits_base<T, NodePtr, Tag, Type>::to_value_ptr(const node_ptr&) [with T = boost::beast::http::basic_fields<std::allocator<char> >::element; NodePtr = boost::intrusive::list_node<void*>*; Tag = boost::intrusive::dft_tag; unsigned int Type = 1; boost::intrusive::bhtraits_base<T, NodePtr, Tag, Type>::pointer = boost::beast::http::basic_fields<std::allocator<char> >::element*; boost::intrusive::bhtraits_base<T, NodePtr, Tag, Type>::node_ptr = boost::intrusive::list_node<void*>*]: Assertion `!!p' failed.
источник

R

Ruben in pro.cxx
выглядит так как будто какой-то указатель внутри биста не выдерживает проверку на 0
источник

R

Ruben in pro.cxx
источник

R

Ruben in pro.cxx
пример, воспроизводящий проблему
источник

R

Ruben in pro.cxx
valgrind выкидывает километр ошибок при использовании локальной переменной, и не ругается, если она член класса
источник

SE

Stanislav Ershov in pro.cxx
ну все ок, ибо когда выполнится async_write то локальная переменная уже может не существовать)
источник

R

Ruben in pro.cxx
ох, точно. Спасибо. Блин и почему я тупил полчаса сидел
источник

R

Ruben in pro.cxx
response же по ссылке передается
источник

SR

Square Root in pro.cxx
tdiff
Друзья, можно ли использовать qemu для отладки/тестов lock free алгоритмов?

Допустим, у меня на ноуте 2 ядра, я хочу проверить SPMC очередь на 10 читателях. Если я создам в qemu 10 vCPU, они будут пытаться эмулировать 10 кэшей, модель памяти и т.д.?
А что конкретно ты хочешь проверять? Может проще взять какой нить relacy и написать пару тестов?
источник

R

Ruben in pro.cxx
 operator()(http::message<isRequest, Body, Fields>&& msg) const
   {
       // Determine if we should close the connection after
       close_ = msg.need_eof();

       // We need the serializer here because the serializer requires
       // a non-const file_body, and the message oriented version of
       // http::write only works with const messages.
       http::serializer<isRequest, Body, Fields> sr{msg};
       http::async_write(stream_, sr, yield_[ec_]);
   }
источник

R

Ruben in pro.cxx
Из документации буста. Вот почему я так сделал. Они передают в async_write локальную переменную
источник

t

tdiff in pro.cxx
Square Root
А что конкретно ты хочешь проверять? Может проще взять какой нить relacy и написать пару тестов?
А relacy вообще жив\рабочий?
источник