Вопросы с тегом 'linux-kernel'

Этот тег предназначен для вопросов о внутренних компонентах ядра Linux - особенно о написании кода, который выполняется в контексте ядра (например, модулей ядра или драйверов). Вопросы о написании кода пользовательского пространства в Linux обычно должны быть помечены как [linux]. Поскольку внутренности ядра Linux постоянно меняются, полезно включить точные версии ядра, которые вас интересуют.
6

Что ":-!!" в коде C?

Я столкнулся с этим странным макрокодом в /usr/include/linux/kernel.h: /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or...
10 февр. '12 в 14:50
10

Как работают вероятные/маловероятные макросы в ядре Linux и в чем их выгода?

Я копал некоторые части ядра Linux и нашел такие вызовы: if (unlikely(fd < 0)) { /* Do something */ } или if (likely(!err)) { /* Do something */ } Я нашел определение их: #define likely(x) __builtin_expect((x),1) #define unlik...
20 сент. '08 в 23:04
13

Как тестируется ядро ​​Linux?

Как разработчики ядра Linux тестируют свой код локально и после его совершения? Используют ли они какое-то модульное тестирование, автоматизацию сборки? планы испытаний?
05 июл. '10 в 5:15
10

Является ли bool родным C-типом?

Я заметил, что в коде ядра Linux используется bool, но я думал, что bool - это тип С++. Является ли bool стандартным расширением C (например, ISO C90) или расширением GCC?
22 окт. '09 в 16:11
3

Каково теоретическое максимальное количество открытых TCP-соединений, которые может иметь современный ящик Linux

Предполагая бесконечную производительность от аппаратного обеспечения, может ли Linux-сервер поддерживать > 65536 открыть TCP-соединения? Я понимаю, что число эфемерных портов (< 65536) ограничивает количество соединений с одного локального IP...
25 февр. '10 в 8:57
7

Почему Linux называется монолитным ядром?

Я читал, что Linux - монолитное ядро. Монолитическое ядро ​​означает компиляцию и привязку полного кода ядра в исполняемый файл? Если Linux может поддерживать модули, почему бы не разбить все подсистемы на модули и не загружать их при необходимости?...
27 нояб. '09 в 3:16
4

Увеличение максимального количества подключений tcp/ip в Linux

Я программирую сервер, и кажется, что мой номер подключений ограничен, так как моя пропускная способность не насыщена, даже когда я установил количество подключений к "неограниченному". Как я могу увеличить или исключить максимальное количество подк...
04 янв. '09 в 7:35
16

В чем разница между пространством ядра и пользовательским пространством?

В чем разница между пространством ядра и пользовательским пространством? Имеют ли место ядра, потоки ядра, процессы ядра и стек ядра то же самое? Кроме того, зачем нам эта дифференциация?
10 мая '11 в 23:18
2

Что делать во время (0), когда мы определяем макрос?

Возможный дубликат: Операторы Do-While и if-else в макросах C/С++ Я читаю ядро ​​linux, и я нашел много таких макросов: #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) Почему они использу...
29 мая '09 в 0:05
2

Время измерения в Linux - время против часов против getrusage vs clock_gettime vs gettimeofday vs timespec_get?

Среди функций синхронизации time, clock getrusage, clock_gettime, gettimeofday и timespec_get я хочу четко понимать, как они реализованы и каковы их возвращаемые значения, чтобы знать в какой ситуации я должен их использовать. Сначала нам нужно кла...
12 сент. '12 в 16:05
4

Поиск того, какой процесс был убит убийцей Linux OOM

Когда у Linux заканчивается память (OOM), убийца OOM выбирает процесс для убийства на основе некоторых эвристик (это интересно читать: http://lwn.net/Articles/317814/). Как можно программно определить, какие процессы были недавно убиты убийцей OOM?
09 мар. '09 в 2:47
2

Драйвер устройства IOCTL Linux

Может ли кто-нибудь объяснить мне, Что такое IOCTL? Для чего он используется? Как я могу использовать его? Почему я не могу определить новую функцию, которая выполняет ту же работу, что и IOCTL?
04 апр. '13 в 9:48
7

В чем разница между vmalloc и kmalloc?

Я googled вокруг и нашел большинство людей, выступающих за использование kmalloc, так как вы гарантированно получите смежные физические блоки памяти. Однако также кажется, что kmalloc может выйти из строя, если не удается найти непрерывный физическ...
22 сент. '08 в 17:46
3

Контекст переключается гораздо медленнее в новых ядрах Linux

Мы хотим обновить ОС на наших серверах от Ubuntu 10.04 LTS до Ubuntu 12.04 LTS. К сожалению, кажется, что латентность для запуска потока, который стал runnable, значительно увеличился с ядра 2.6 до ядра 3.2. На самом деле количество времени ожидания,...
24 авг. '12 в 15:03
6

Как избежать прозрачного предупреждения_очистки/дефрагментации от mongodb?

Я получаю следующее предупреждение от mongodb о THP 2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** We sugg...
07 мар. '15 в 5:09