Как каждый отправляет потенциальный патч к ядру Linux?

17
задан paxdiablo 14 September 2013 в 12:31
поделиться

6 ответов

Перед чем-либо еще: концентрация об отчете об ошибках производительности и разбирание в нем (с повторяемыми сравнительными тестами), по крайней мере, помогут Вам заставить людей беспокоиться проблемой. Также отправьте патч после тестирования его, но остерегайтесь, тот Ваш большой патч мог бы использовать неправильный подход, и что они могли бы записать лучший. Или это просто это может быть большим, но, возможно, нуждалось бы, фиксирует, чтобы быть принятым, который даже происходит с uber-парнями. И не думайте, чтобы послать кому-то по электронной почте конфиденциально, но относиться к LKML или к соответствующей подсистеме ML.

я предложил бы, чтобы Вы прочитали все другие ответы и весь применимый материал, прежде, чем связались с разработчиками ядра; и прочитайте библиографию SubmittingPatches также. Они могли бы быть резкими, если Вы делаете это неправильно. kernelnewbies чат IRC является хорошим местом для Вас для запуска, потому что они наверняка приветствуют, даже если иногда среда может быть слишком подобной новичку (не уверенный, я не был там так).

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

Это не чрезмерно оптимистично; не сам по себе, по крайней мере. Абстракция от Вас (так как я не знаю Ваши навыки), что более маловероятно, состоит в том, что Ваш патч будет принят без модификаций, или что он записан согласно правильным навыкам. Но на самом деле, если Ваш патч адресован меньшему сообществу, это может быть намного легче.

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

Особенно, опустите такие операторы:

рендеринг нашей текущей осуществимой реализации, но менее, чем оптимальной.

, потому что это купит Вас, "исправляют Ваш код" рекомендация сразу большинства читателей.

, Если на производительность существующего приложения (не записанный Вами) влияют, это отличается. Например, после того как Linus быстро обратил внимание на фиксацию в производительности ядра для завинченного, кодируют, потому что тот код был частью, делают, даже если он гордился кодом, который он написал и тем, что он не должен был делать этого точная фиксация. Т.е. Вам нужно приложение, о котором все заботятся о, или решение без недостатков. Так, материал как:

поведение из другого (очень наиболее часто используемого) приложения

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

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

Btw, это - частичная учетная запись моего опыта там: https://www.ohloh.net/accounts/Blaisorblade

, Если Вы хотите, можно связаться со мной для помощи Вам непосредственно с предложенной почтой и CC меня на обсуждении. Я довольно занят, но я мог бы найти еще некоторое время :-).

14
ответ дан 30 November 2019 в 12:01
поделиться

Ну, Вы могли попытаться читать Documentation/SubmittingPatches в исходном дереве ядра Linux.

13
ответ дан 30 November 2019 в 12:01
поделиться

В крупном проекте лучший способ получить патч в основное дерево состоит в том, чтобы связаться с человеком, который поддерживает конкретную часть кода. Так, просмотрите файл СПЕЦИАЛИСТОВ ПО ОБСЛУЖИВАНИЮ Linux для наблюдения, кто официально специалист по обслуживанию кода, который Вы изменили и также в ядро Linux репозиторий SCM для определения местоположения разработчиков, которые недавно работали над тем кодом. Увеличить Ваши возможности принимаемого патча:

  • гарантируют, что Ваш патч легко понять и следует существующим стандартам кода и документации,
  • объясняют ясно, чего достигает Ваш патч,
  • утверждают, что Ваши изменения в соответствующем формате (вывод разности - для Linux),
  • удостоверяются, что патч может быть чисто применен (и работы) на последнем программном обеспечении (ядро Linux), версия,
  • включают тестовые сценарии, которые демонстрируют и проблему, которую Вы решаете и как Ваш патч решает его, и
  • не включают в Ваш не важный код (например, форматирующий) изменения.

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

4
ответ дан 30 November 2019 в 12:01
поделиться

Считайте Documentation/SubmittingPatches, найдите соответствующего СПЕЦИАЛИСТА ПО ОБСЛУЖИВАНИЮ, и самое главное, узнайте, где все обсуждение действительно случай. Это не могло бы быть в самом списке рассылки ядра, но возможно в некоторой подсистеме ML.

Затем подписываются на этот ML и отправляют Ваш патч как RFC.

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

2
ответ дан 30 November 2019 в 12:01
поделиться

Я не попытался отправить любые патчи ядра сам, и эти , документам недостает этой области.

, Но эта страница похожа на него, может указать на Вас в правильном направлении.

1
ответ дан 30 November 2019 в 12:01
поделиться

На РЕДАКТИРОВАНИИ ответ мог бы быть интересным как случай в качестве примера. Я предполагаю, что Ваше требование полностью разумно, но Вы правы, что даже тест на контекстном переключении мог бы быть слишком дорогим. Но так как ядро имеет реализацию таймера, я не вижу, почему оно не может использоваться для предотвращения этого. Так, действительно, предложение запроса на улучшение является самой безопасной ставкой. Я удивлен, что предложение отправить отчет об ошибках вместо патча было таким подходящим вариантом. Можно также изменить патч сами для использования таймеров сами, если требуется отправить его, но все еще быть готовы к обсуждению :-) Можно даже добавить, что "у нас есть локальная фиксация, но она добавляет, что некоторые тесты на контекстном переключении быстро соединяют каналом, вот почему патч присоединяется для ссылки, но не должен быть применен". Выключение Вашего собственного кода, если это, как известно, плохо, избежит резких обзоров патча.

альтернатива должна выполнить некоторые сравнительные тесты и доказать, что нет никакого влияния, но если таймеры жизнеспособны, что код будет отклонен так или иначе, или попробовать решение для таймера самостоятельно (что-то лучше может существовать). Найдите сравнительные тесты, которые они используют для планировщика ядра; посмотрите на "недавние" потоки о CFS Ingo (или Kolivas?) исправляют и берут их сравнительные тесты.

О поддержке, разработчики ядра не будут заботиться о "Сервере приложений Websphere" отдельно, если это сделает неблагоразумные вещи, даже финансируемые IBM. Но с моими ограниченными знаниями ситуаций, закрывая JVM периодически не имеет смысла, это кажется просто способом сгладить некоторую утечку памяти / нестабильность, таким образом, текущее поведение должно поддерживаться.

1
ответ дан 30 November 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: