LINUX.ORG.RU

Вышел kmemcheck v4

 , kmemcheck,


0

0

kmemcheck представляет собой четыре патча ядра Linux, которые определяют использование не проинициализированной памяти. При каждом обращении к памяти, будь то чтение или запись, которая была динамически выделена при помощи kmalloc(), происходит перехват вызова: если происходит чтение адреса, по которому еще не было ничего записано, то происходит запись сообщения в лог ядра. kmemcheck помогает отлаживать модули ядра.

>>> Подробности

anonymous

Проверено: Shaman007 ()

интересно, патчи примут?!

anonymous
()

Лучше написать "помогает в отладке модулей ядра", а то складывается впечатление, что аффтор не учил русский в школе

Arceny ★★
()

Безусловно, полезная функциональность..

MiracleMan ★★★★★
()

> Unfortunately, the kernel usually freezes hard after a couple of hours for unknown reasons -- ideas and/or patches are welcome

Пора писать kmemcheck_check для отладки kmemcheck.

kmike ★★
()

а по моему, вредная штука.

код надо проверять на корректность в исходниках, а не ловить в рантайме, что там накосячено.

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

> код надо проверять на корректность в исходниках

Ого! И давно ты начал код доказывать? Доказанный код — это круто. Вот бы кто-нибудь для ядра это провернул!

baka-kun ★★★★★
()

новость в стиле "Вышел kmemcheck v4 суть такова...". Спасибо - мозг сломан.

sid350 ★★★★★
()
Ответ на: комментарий от AVL2

> а по моему, вредная штука.

Valgrind тоже вредная штука? На чём программируешь, если не секрет?

Casus ★★★★★
()
Ответ на: комментарий от AVL2

> дык проверяют.

Отличай _проверить_ и _доказать_. Первое ничуть не отменят необходимость kmemcheck и прочих valgrind, ибо человек errare est. Если ты настаиваешь на их ненужности, то у тебя только одн выход — математически доказывать ПО. Флаг в руки.

baka-kun ★★★★★
()
Ответ на: комментарий от madcore

>>kmemcheck помогает отлаживать модули ядра.

> как трогательно

а ты не знал что сначала программисты лажают, а потом отлаживают? :)

anonymous
()
Ответ на: комментарий от baka-kun

Проверить - слабое подобие доказать. Улучшая проверку, можно в идеале доказать код.

А инструменты аля valgrind или этот kmemcheck тоже полезны, но как костылики. В идеале они не нужны...

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

> А инструменты аля valgrind или этот kmemcheck тоже полезны, но как костылики. В идеале они не нужны...

У меня помимо первого неотвеченного вопроса появился второй: сколько лет ты уже занимаешься девелопментом на full-time? А рассуждать про "идеал" нужно со "сферического коня в вакууме"...

Casus ★★★★★
()
Ответ на: комментарий от AVL2

>А инструменты аля valgrind или этот kmemcheck тоже полезны, но как костылики. В идеале они не нужны...

В идеале????? Делись травой, хиппи!!!

>Современный девелопмент, это один большой костыль. Тухлая императивщина...

Хм.. видать парня попёрли на работе из девелопмента за "отказ от отладки приложений в пользу умозрительных рассуждений о качестве и гениальности его кода". Вот и обиделся на весь мир...я хотел сказать "лор"!!:))))

farisey
()
Ответ на: комментарий от farisey

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

Затем посмотрите на оптимизации gcc, которые нередко приводят к поломке программы.

А плохо работает все это по одной простой причине - на каждую полезную зависимость между данными или инструкциями приходится пара десятков паразитных. В итоге эти паразитные зависимости приводят к зацеплению данных, а разобрать, где полезная, а что надо выбросить вообще невозможно.

И malloc/free, это придуманная проблема. И как следствие - kmemcheck. Появилась структура, значит нужен malloc под нее, освободилась структура - free. И выделять память надо централизовано на приложение, если не на систему, в очередях, в соответствии с выбраной стратегией, обеспечивающей необходимый баланс между скоростью, экономией ресурсов и поддержанием их качества, сиречь, необходимости дефрагментации.

А теперь посмотрите на gc в яве или дотнете и убедитесь, как смешно и нелепо в императивщине реализуется сей полезный инструмент.

ЗЫ

Переть из девелопмента меня трудно. И, типа, сам привлекаю и пру народ... ;)

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

> Переть из девелопмента меня трудно. И, типа, сам привлекаю и пру народ... ;)

Я давно заметил, что тот, кто не умеет программировать, либо учит других, как это надо делать, либо идёт в начальники. Те же, что поумнее, меняют профессию.

Casus ★★★★★
()
Ответ на: комментарий от Casus

Ну не ремесленник, это точно. ;)

Представляю себе сцену из двадцатых прошлого века.

На лоре появляется новость - вышел мешок для навоза v 4. Этот мегаполезный гаджет позволит меньше закидывать навозом городские дороги при перевозке грузов и пассажиров!

AVL2: Это все костыли. Скоро лошади, как средство перевозки в городах уйдут в прошлое. По дорогам будут ездить авто, а в идеале под землей побегут электропоезда и никакие мешки для навоза будут не нужны...

Casus: Только один вопрос, скольке времени ты работаешь full-time ямщиком?

AVL2: Да вы посмотрите, что вас окружает. Телега, лемех и кобыла. Все это костыли, которые сходят со сцены.

Casus: Я давно заметил, что тот, кто не умеет перевозить, либо учит других, как это надо делать, либо идёт в начальники.

AVL2 ★★★★★
()
Ответ на: комментарий от Casus

Скорее фантаст.

Иногда надо отвлекаться от текущего момента и смотреть в будущее, на перспективу...

AVL2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.