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