我们有一些软件依赖于另一个(非常常用的)应用程序的某些行为,但该应用程序现在已更改,导致我们当前的实现可行但不够优化。
我们认为此更改可能会影响其他许多应用程序,尤其是在性能监控领域,并且我们已经找到了一种解决方案,我们相信这将改善一系列其他潜在问题。
不幸的是,所提出的解决方案是内核更改(相对简单但如果出错影响很大),而我们没有提交内核补丁进行审核的经验。
在SO上是否有人提交过补丁(虽然我会感激所有答案,但我怀疑最好的答案将来自那些经历过该过程的人,即使他们失败了)。您是否已经被接受了(Alan Cox等人是否会关注SO的机会是什么)?
正确的流程是什么?我没有打算给Linus发送电子邮件,因为我知道他有一批保护者,你应该通过他们才能让他看到。我该如何找出谁负责特定部分的内核。
也许我过于乐观地认为内核世界从未听说过的人可以做出贡献,但我很想了解一下。
编辑更多细节:
实际上这个改变不是为了解决一个性能bug,而是在进程终止时写入的过程帐户条目(当前)做出的一个改进(在我看来)。
WebSphere应用程序服务器(啊,IBM,祝福他们的小心灵)已经更改了其行为; JVM通常会定期退出,以便其条目被写入,并且我们可以将其用于计费。现在它让JVM长时间运行数月,这意味着数据无法及时获得,除非我们定期强制关闭WAS。不管怎样,我相信对于其他长时间运行的进程来说,这可能是一个有用的功能。
我们认为此更改可能会影响其他许多应用程序,尤其是在性能监控领域,并且我们已经找到了一种解决方案,我们相信这将改善一系列其他潜在问题。
不幸的是,所提出的解决方案是内核更改(相对简单但如果出错影响很大),而我们没有提交内核补丁进行审核的经验。
在SO上是否有人提交过补丁(虽然我会感激所有答案,但我怀疑最好的答案将来自那些经历过该过程的人,即使他们失败了)。您是否已经被接受了(Alan Cox等人是否会关注SO的机会是什么)?
正确的流程是什么?我没有打算给Linus发送电子邮件,因为我知道他有一批保护者,你应该通过他们才能让他看到。我该如何找出谁负责特定部分的内核。
也许我过于乐观地认为内核世界从未听说过的人可以做出贡献,但我很想了解一下。
编辑更多细节:
实际上这个改变不是为了解决一个性能bug,而是在进程终止时写入的过程帐户条目(当前)做出的一个改进(在我看来)。
WebSphere应用程序服务器(啊,IBM,祝福他们的小心灵)已经更改了其行为; JVM通常会定期退出,以便其条目被写入,并且我们可以将其用于计费。现在它让JVM长时间运行数月,这意味着数据无法及时获得,除非我们定期强制关闭WAS。不管怎样,我相信对于其他长时间运行的进程来说,这可能是一个有用的功能。
目前,当进程退出时会写入类型3的进程计费记录。我们正在研究一种机制,可以在进程仍处于活动状态时定期写入类型N的记录,提供自上次写入(或进程启动,如果这是第一次写入)以来的数据。收费或性能监控应用程序可以选择使用类型3记录(完全不变)或过渡类型N记录。我们目前的解决方法是监视/proc/PID/stat中特定进程的情况,但这是一个可怕的巧合,因为它与真正的进程计费集成得不好。
这种写入不需要频繁进行(我们满意每24小时进行一次),但可能会对性能产生影响,因为当前仅在进程退出()时执行的工作将偶尔在进程上下文切换时执行。Linus等人可能不喜欢这个想法,因为这可能是代码的高影响区域(即使检查距离上次写入已经过去了24小时,也可能对他们来说太慢了)。
尽管如此,感谢迄今为止所有的答案,我会看看自己能否解决问题。请给我几天时间,我会接受最佳答案。