• Амнезия FreeBSD
    +1
    Менеджмент памяти ядром — это тема, скажем, примерно на 700 страниц, тут в двух словах не пересказать, не то, что «аршином измерить». Погуглите слова «linux kernel memory management pdf», если на kernel(dot)org отправит, то это то, меня, к сожалению, местные крепкие ребята лишили возможности постить ссылки (чем-то не понравилась, возможно резкостью выражений, моя приязнь к С и неприязнь к С++ в одном из тредов Интела). Не факт, что суммирование процессами занятой памяти даст адекватную картину, но это, мне кажется, ближе к теме. Ну и сама по себе задача измерить доступную память очень зыбка, даже Гугл не решается ее измерять перед компиляцией Хромиума в Генте, оценивает свободное место на диске и общее количество оперативки.
  • Амнезия FreeBSD
    0
    Пользовательская документация, мне так кажется, не поможет в таком болезненном для ядра вопросе. Алгоритмов несколько, в Линуксе зависит еще от аллокатора, выбранного при настройке исходников ядра, несколько уровней зонирования, buddy system, slab, помимо pages на page frames, необходимо, чтобы память сильно не фрагментировалась, многое хранится в ней до самого запроса на освобождение и т.д. Лучше сразу исходники читать и комментарии непосредственно к коду ядра. Таким методом интроспекции (top и malloc) вряд ли можно даже на интуитивном уровне догадаться, что внутри происходит.
  • Амнезия FreeBSD
    0
    QEMU also supports a wide variety of caching modes. If you're using raw volumes or partitions, it is best to avoid the cache completely, which reduces data copies and bus traffic
  • Линус Торвальдс анонсировал выход ядра Linux 4.4 LTS (Long-Term Support)
    0
    >а xconfig переведён на Qt5
    Интересно, им кто-то пользуется?
  • Распараллеливание алгоритма Штрассена на Intel® Xeon Phi(TM)
    +1
    OShapovalov, «векторизация» вот это я подразумевал выше под «попробовать другие способы». Это правильней с терминологической и практической точки зрения. У меня еще возник вопрос по ходу чтения этого комментария с упоминанием про fma-инструкции и кеша. Зачем там x86 архитектура, если устройство предназначено для плавающей точки. Ведь на OpenCL и CUDA можно самому регулировать что в какую память пойдет и на какие вычислительные единицы. Получается, что теряется гибкость и контроль. Есть ли у этого какие-то плюсы, кроме того, что там Линукс?
  • Распараллеливание алгоритма Штрассена на Intel® Xeon Phi(TM)
    0
    Ну я вот и спрашиваю про параллельный вариант. На одном то юните алгоритм сам по себе быстрее, чем больше юнитов, тем больше разница в абсолютных значениях. Я так понял, что проблема, которая, видимо, общая для всех алгоритмов, которые распараллеливают рекурсию: неравномерность вычислений, которая затормаживает быстрые потоки на моменте синхронизации и несоответствие количества вычислений количеству юнитов. А не пробовали другие методы использовать, что нибудь а ля thread pool для этих задач?
  • Распараллеливание алгоритма Штрассена на Intel® Xeon Phi(TM)
    +1
    Так в чем в итоге проблема отставания, в рекурсии и синхронизации?
  • Структуры данных. Неформальный гайд
    0
    Кучи могут быть не только двоичными, поэтому и основание логарифма от 2 и более.
  • Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX
    0
    Т.е. в коде ядра обрабатываются все 20 векторов + iret на 32-м.
  • Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX
    0
    Про шумы в IRQ и про контроллер понятно, меня удивляет, что официальная таблица скрывает от нас правду. И в коде ядра обработчик этого прерывания все таки есть.

    do_spurious_interrupt_bug(struct pt_regs *regs, long error_code)
    {
    	conditional_sti(regs);
    #if 0
    	/* No need to warn about this any longer. */
    	pr_info("Ignoring P6 Local APIC Spurious Interrupt Bug...\n");
    #endif
    }
    
    
  • Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX
    0
    Точнее в данном случае уже прерывания.
  • Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX
    0
    И еще про табличку исключений:
    15 Зарезервировано Intel, не предназначено для использования

    Смотрю в исходники, теперь уже в хендлеры исключений (arch / x86 / include / asm / traps.h):
    X86_TRAP_SPURIOUS, /* 15, Spurious Interrupt */

    Интернет отправляет в Вики про The Intel 8259 is a Programmable Interrupt Controller (PIC) designed for the Intel 8085 and Intel 8086 microprocessors.

    Spurious interrupts[edit]
    The 8259 generates spurious interrupts in response to a number of conditions.

    The first is an IRQ line being deasserted before it is acknowledged. This may occur due to noise on the IRQ lines. In edge triggered mode, the noise must maintain the line in the low state for 100 ns. When the noise diminishes, a pull-up resistor returns the IRQ line to high, thus generating a false interrupt. In level triggered mode, the noise may cause a high signal level on the systems INTR line… итд.

    Написано, что не предназначено для использования, но почему тогда хендлер в исходниках ядра есть для этого исключения?
  • Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX
    0
    Еще про табличку исключений:
    1 #DB Зарезервировано Только для использования Intel

    По моим данным:
    1- “Debug” (trap or fault)
    Raised when the TF flag of eflags is set (quite useful to implement single-step
    execution of a debugged program) or when the address of an instruction or
    operand falls within the range of an active debug register.

    И в исходниках (ядро 3.18.19) все в том же entry_64.S вот какую строчку нашел:
    idtentry debug do_debug has_error_code=0 paranoid=1 shift_ist=DEBUG_STACK
  • Записки разработчика Intel System Studio: отладка Linux-ядра Android с помощью Intel JTAG Debugger и MinnowBoard MAX
    0
    Все же я за kgdb на рабочей машине, и дебажить на любом таргете ядро с символами. Кстати сам Торвальдс не любит дебаггеры, gdb использует как дизассемблер на стероидах, дескать без них разработчик более детально вникает в суть кода, решая проблему.
  • Vagrant, Python, Pycharm = (удобная, работа, Windows)
    0
    У меня хост — Линукс, ВМ — тоже Линукс (KVM). Редактирую файлы на гостевой. Для синхронизации файлов я использую шелл-скрипт, использующий inotify-tools, который при каждом изменении файла на гостевой машине запускает rsync по ssh, работает мгновенно. Для Windows есть наверняка какие-то вотчеры, которые могут по изменению файлов какой-то код запускать, BAT-файлы какие-нибудь можно написать для автоматизации.

    До того, когда перешел полностью на Линукс и консольный Vim в разработке, использовал MacOS и PyCharm, в PyCharm были настройки что-то типа Creating a Remote Server Configuration, Customizing Upload/Download, там можно было по FTP, SFTP конфигурировать синхронизацию. Работало, насколько я помню, быстро. Был Suse в VMWare Player/Workstation — точно так же, через PyCharm люди, работавшие в Windows, синхронизацию настраивали. Еще наш техдир в VMWare виртуальный HDD не разбивал на несколько маленьких файлов, а использовал один большой, говорил, что так быстрее.

    NFS пробовал использовать для других задач, сложно сказать что-то определенное, помню только, что по вай-фаю медленно большие файлы передавались, для разработки возможно подойдет, т.к. требования для передачи данных другие.

    Не знаю, насколько это может пригодится в Vagrant, я так понимаю, у них там много своих скриптов для удобства. Возможно у них самих есть какие-то готовые решения.
  • Ускорение обработки изображений в Android
    +1
    Центральные процессоры и графические ядра современных устройств, работающих под управлением Android, способны на многое.

    От Android там только HAL, непосредственно управляет процессорами и периферией в SoC ядро Linux, Андроид тут добавляет Java-прослойку. Впрочем она и определяет «способность на многое» количеством Java-программистов. Тем не менее познавательная информация про интеграцию OpenCL kernels в приложения для Андроид.
  • Новое предупреждение о неверном вычислении размера массива в gcc 5.1
    0
    По размеру слова на таргете. А ошибка с передачей размера не отдельным аргументом — действительно детская ошибка, не знал что в С++ она распространена, думал, что они со своим STL уже и забыли про массивы.
  • Псевдо ООП в C
    0
    В Linux kernel есть kobject для этого. У них в коде ядра на C много разных парадигм и абстракций, не только объектно-ориентированная.
  • Здравый смысл важнее алгоритмического мастерства
    0
    Параллельные алгоритмы имеют математическую модель (вводится в нотацию переменная кол-ва процессоров), свои паттерны и рассматриваются вопросы влияния времени синхронизации нитей на время вычисления. Но фактически формальные алгоритмы к которым можно с уверенностью применить математическую модель актуальны для SIMD и GPU, где можно точно распределить на вычислительные единицы какие-то операции и учесть время трансфера данных из хоста в память GPU, на CPU все сложнее, время на нити (легковесные процессы) scheduler операционной системы раздает и решает.

    А собеседования разные бывают, все это частные случаи, например на одном я общался в светском формате с человеком за чашечкой чая про ассемблер и теорию конечных автоматов, на другом мы только обсудили объем работ и цену за час работы.
  • Здравый смысл важнее алгоритмического мастерства
    +1
    Странное противопоставление и перевод названия заметки, если он подразумевает общий случай. На этапе проектирования приоритетны Organizational Skill, на этапе оптимизации потребления ресуров (память, время вычислений) приоритетно Algorithmic Wizardry.
  • Intel RealSense с точки зрения разработчика
    0
    Для Linux получится очень комплексный продукт. В kernel space нет арифметики с плавающей точкой да и объемы данных будут огромные для low memory, придется обрабатывать прерывания от камеры в top half, потом отправлять в bottom half, потом в user space, потом еще наверное какая-то интеграция с X server, если это будет взаимодействовать c GUI на уровне манипулятора.
  • АНБ выложило на GitHub утилиту для обеспечения сетевой безопасности
    –1
    Ну присовйте этим переменным значения «Яндекс» и «ФСБ», чтобы ближе были сравниваемые сущности, выражение вернет значения «Реклама магазина» и «Проверка на терроризм»? Разные мотивы же.
  • АНБ выложило на GitHub утилиту для обеспечения сетевой безопасности
    +1
    github.com/simp

    Project is primarily written in Ruby, we use a few key Ruby tools. The Ruby community and this project makes heavy use of Gems, the native Ruby package.


    Там есть с документацией репозиторий.
  • АНБ выложило на GitHub утилиту для обеспечения сетевой безопасности
    0
    В первом случае коммерческие мотивы: рекламу, например, актуальную показывать.
  • АНБ выложило на GitHub утилиту для обеспечения сетевой безопасности
    0
    Какой-то странный фреймворк, на экосистеме Руби все, много модулей, я так понимаю, это дополнительный слой поверх iptables и прочего, интересно как оно на производительности и пропускной способности сказывается.
  • Многооконный режим: дополнительное конкурентное преимущество для Android-приложений
    –3
    Ну нам то ядро и HAL важнее. Тем более с Intel многое проще на уровне ядра (чем у MediaTek, например), в папке /arch/x86 основное все есть специфическое для архитектуры: нужные контрол-регистры типа CR0, CR3 для пейджинга и прочее. А окошечки, доки, десктопики, дашборды — то все уже дело наживное.
  • Пояснение к переносу «железных» хабов с «Хабра» на Geektimes
    0
    Интересно! Вас не затруднит какие-то контакты оставить, чтобы быть в курсе, когда подобная информация начнет публиковаться?
  • Семь видов интерпретаторов виртуальной машины. В поисках самого быстрого
    +1
    Я предполагаю, что компилятор (опции компиляции) и железо играет даже больше, чем немалую роль. Виртуальная машина стековая, а на реальном железе вероятно, что часть стека виртуальной машины будет в регистрах храниться. Код машины обязательно надо посмотреть в ассемблерном виде после компилятора, чтобы достоверно знать, что происходит. Я еще думал, что «subroutined» будет медленнее из-за частых джампов к адресам процедур.
  • Техническое собеседование: пять способов отпугнуть соискателя / пять способов взбесить интервьюера
    0
    Ну так про ЧСВ и речь, и конечно зависит от людей. В крупных компаниях, а особенно у таких эстрадных звезд как Яндекс, процент тщеславных и высокомерных на порядок выше, ну и атмосфера и окружение меняют самомнение.
  • Техническое собеседование: пять способов отпугнуть соискателя / пять способов взбесить интервьюера
    +1
    Уровень знаний адекватный требуется, учитывая их масштабы задач. Я согласен с той точкой зрения, что даже сисадмин должен понимать что-такое опкоды, системные вызовы, kernel threads и мало-мальски уметь что-нибудь состряпать на C при необходимости. Тут не об этом, о том, что у них с ЧСВ какие-то проблемы, считают почему-то, что за пределами Яндекса жизни нет, и надпись «Яндекс» в профиле дает индульгенцию хамить всем подряд.
  • Техническое собеседование: пять способов отпугнуть соискателя / пять способов взбесить интервьюера
    0
    Скорее всего это про московский офис, работает знакомая, с которой в институте учились, судя по тому, как изменились ее манеры, там такая идеология в компании. Ну и рекомендую пропускать мимо ушей и быть готовым к тщеславным людям, громкое имя всегда подобный контенгент привлекает. И не забывайте самое главное, что работать там — это быть всегда вторым после Google.
  • Диагностика почтовых протоколов
    –2
    Я еще сталкивался с одним фреймворком, где base64 использовали, чтобы файлы изображений (thumbnails для веб) хранить в базе данных (PostgreSQL) в текстовом виде.
  • Замечания о распределенных системах для начинающих
    0
    This book offers students and researchers a guide to distributed algorithms that emphasizes examples and exercises rather than the intricacies of mathematical models. It avoids mathematical argumentation, often a stumbling block for students, teaching algorithmic thought rather than proofs and logic.

    Вот это, на мой взгляд, на самом деле, не очень. Мне слишком обобщенный текст (в тексте данного поста) было сложно воспринять, если тезисы не подкреплются или математической моделью (как в лекциях по Artificial Intelligence от Stanford), или каким-то примером, хоть и сферическим в вакууме (как в лекциях по Computer Science от, простигосподи, московского Яндекса).

    «Fallacies of distributed computing» и «CAP theorem» по ссылкам из поста показались более ясными. Но это скорее потому, что для меня — все это факультативная тема, те для кого она насущная, вероятно заинтересуются.
  • Как украсть control plane или приготовление EIGRP для Juniper
    0
    ARM, я тоже из-за этого больше склоняюсь к RPi 2, но по причине большего кол-ва Линукса для ARM
  • «Закон Мура» под угрозой — Intel задерживает новые чипы
    +3
    Из комментариев к стате Engadget.

    scampcat 36 minutes ago
    Having worked with prototype/development chips from Intel for years, I can assure you that this isn't an issue of Moore's Law. It's capitalism at its worst. They're milking existing architectures for every last penny. I've worked with Intel chips that didn't go to market for more than 4 years...and not because there was something wrong with them. They just squeeze every penny out of what's out there first. Clever spin for anyone who doesn't know that though.
  • Как украсть control plane или приготовление EIGRP для Juniper
    0
    Немного отвлеченно, понимаю, что картинка на схеме символичная. На Raspberry Pi можно установить виртуальную Cisco?
  • Генерация и решение лабиринта с помощью метода поиска в глубину по графу
    0
    А почему список смежности не использовали? Он же экономичней.
  • Генерация и решение лабиринта с помощью метода поиска в глубину по графу
    0
    В английской Википедии есть и очень развернуто, предполагается, что созданиее лабиринта — это генерация остовного дерева (spanning tree), и несколько соответствующих алгоритмов генерации: поиск в глубину, алгоритм Крускала и алгоритм Прима и еще какие-то.
  • Использование конфигурируемых логических ячеек PIC микроконтроллеров для управления WS2812
    0
    А в MPLAB XC8 можно посмотреть какой ассемблерный код получается из C до создания бинарного?
  • Системы компьютерной алгебры для работы с тензорами
    0
    Я, прочитав заголовок, подумал, что про вычислительные методы что-то будет, а тут про софт.