У нас есть программное обеспечение, основанное на определенном поведении от другого ( очень общедоступного) приложения, которое теперь изменилось, что делает нашу текущую реализацию работоспособной, но менее оптимальной.
Мы полагаем, что это изменение, возможно, повлияло на ряд других приложений, особенно в области мониторинга производительности, и мы нашли решение, которое, по нашему мнению, улучшит множество других потенциальных проблем.
К сожалению, это решение - это изменение ядра (относительно простое, но очень сильное воздействие, если мы его заполняем), и у нас нет опыта отправки исправлений ядра для просмотра.
Кто-нибудь из SO действительно представил патч (хотя я был бы признателен за все ответы, я подозреваю, что лучшие из них будут получены от тех, которые прошли через этот процесс, даже безуспешно)? Приняли ли вы его (каковы шансы, что Алан Кокс и др. Висят на SO)?
Каков правильный процесс? Я не собираюсь отправлять письмо Линусу, так как я знаю, что у него есть кадры защитников, которые вы должны пройти до того, как он доберется до него. Как узнать, кто отвечает за конкретный раздел ядра.
Возможно, я слишком оптимистичен в том, что думаю, что мир, о котором никогда не слышал мир, может внести свой вклад, но мне было бы интересно узнать.
РЕДАКТИРОВАТЬ с более подробной информацией:
Это изменение на самом деле не является ошибкой производительности, а улучшением (по моему мнению) для записей учета процесса (в настоящее время), записанных при завершении процесса.
Сервер приложений Websphere (ах, IBM, благословит их маленькие сердца) изменил то, что он делает; JVM обычно выходили регулярно, чтобы их записи были написаны, и мы могли бы использовать их для возврата. Теперь это оставляет JVM, которые лежат в течение нескольких месяцев, а это означает, что данные не доступны своевременно, если мы не заставим WAS регулярно. Почему-то я не думаю, что IBM Software Group собирается исправить свое программное обеспечение для нас:-). В любом случае, я считаю, что это может быть полезной особенностью для других долгоживущих процессов.
В настоящее время записи процесса учета типа 3 записываются, когда процесс завершается, то, что мы рассматриваем, является механизмом для записи записей типа N периодически, пока процесс все еще активен, давая цифры с момента последней записи (или запускается процесс, если это впервые). Приложения обратной связи или приложения контроля производительности могут использовать либо записи типа 3 (полностью без изменений), либо временные записи типа N. Нынешний обходной путь - мониторинг /proc/PID/stat для конкретных процессов, но это ужасный kludge, поскольку он не хорошо интегрируется с ведением реального процесса.
Это может быть не часто (мы будем довольны 24 часами), но это может повлиять на производительность, так как работа, выполняемая в настоящее время только на выходе процесса(), должна выполняться иногда при переключении контекста процесса. Linus et al может не понравиться эта идея, так как это может быть область с высоким ударом кода (даже проверка, если было 24 часа с тех пор, как последняя запись может быть слишком медленной для них).
Тем не менее, спасибо за все ответы до сих пор, я посмотрю, как я пойду. Дайте мне пару дней, и я приму наилучший ответ.