{"action":"created","issue":{"url":"https://api.github.com/repos/tinyclub/tinylab.org/issues/454","repository_url":"https://api.github.com/repos/tinyclub/tinylab.org","labels_url":"https://api.github.com/repos/tinyclub/tinylab.org/issues/454/labels{/name}","comments_url":"https://api.github.com/repos/tinyclub/tinylab.org/issues/454/comments","events_url":"https://api.github.com/repos/tinyclub/tinylab.org/issues/454/events","html_url":"https://github.com/tinyclub/tinylab.org/issues/454","id":511263438,"node_id":"MDU6SXNzdWU1MTEyNjM0Mzg=","number":454,"title":"泰晓资讯 10月 / 第 3 期 / 2019 —— 资讯收集","user":{"login":"unicornx","id":2476165,"node_id":"MDQ6VXNlcjI0NzYxNjU=","avatar_url":"https://avatars3.githubusercontent.com/u/2476165?v=4","gravatar_id":"","url":"https://api.github.com/users/unicornx","html_url":"https://github.com/unicornx","followers_url":"https://api.github.com/users/unicornx/followers","following_url":"https://api.github.com/users/unicornx/following{/other_user}","gists_url":"https://api.github.com/users/unicornx/gists{/gist_id}","starred_url":"https://api.github.com/users/unicornx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unicornx/subscriptions","organizations_url":"https://api.github.com/users/unicornx/orgs","repos_url":"https://api.github.com/users/unicornx/repos","events_url":"https://api.github.com/users/unicornx/events{/privacy}","received_events_url":"https://api.github.com/users/unicornx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-10-23T11:34:39Z","updated_at":"2019-10-23T12:03:39Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"[LWN.net Weekly Edition for October 10, 2019](https://lwn.net/Articles/801241/)"},"comment":{"url":"https://api.github.com/repos/tinyclub/tinylab.org/issues/comments/545410461","html_url":"https://github.com/tinyclub/tinylab.org/issues/454#issuecomment-545410461","issue_url":"https://api.github.com/repos/tinyclub/tinylab.org/issues/454","id":545410461,"node_id":"MDEyOklzc3VlQ29tbWVudDU0NTQxMDQ2MQ==","user":{"login":"unicornx","id":2476165,"node_id":"MDQ6VXNlcjI0NzYxNjU=","avatar_url":"https://avatars3.githubusercontent.com/u/2476165?v=4","gravatar_id":"","url":"https://api.github.com/users/unicornx","html_url":"https://github.com/unicornx","followers_url":"https://api.github.com/users/unicornx/followers","following_url":"https://api.github.com/users/unicornx/following{/other_user}","gists_url":"https://api.github.com/users/unicornx/gists{/gist_id}","starred_url":"https://api.github.com/users/unicornx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unicornx/subscriptions","organizations_url":"https://api.github.com/users/unicornx/orgs","repos_url":"https://api.github.com/users/unicornx/repos","events_url":"https://api.github.com/users/unicornx/events{/privacy}","received_events_url":"https://api.github.com/users/unicornx/received_events","type":"User","site_admin":false},"created_at":"2019-10-23T12:03:39Z","updated_at":"2019-10-23T12:03:39Z","author_association":"CONTRIBUTOR","body":"[Why printk() is so complicated (and how to fix it)](https://lwn.net/Articles/800946/)\r\n\r\nThe kernel's [`printk()`](https://www.kernel.org/doc/html/latest/driver-api/basics.html#c.printk) function seems like it should be relatively simple; all it does is format a string and output it to the kernel logs. That simplicity hides a lot of underlying complexity, though, and that complexity is why kernel developers are still unhappy with `printk()` after 28 years. At the 2019 Linux Plumbers Conference, John Ogness [explained](https://www.linuxplumbersconf.org/event/4/contributions/290/) where the complexity in `printk()` comes from and what is being done to improve the situation.\r\n\r\n在普通人想象中，内核的 `printk()` 函数应该是个非常简单的函数，只要处理好字符串格式化然后输出到内核的日志里就好。但实际上这里面隐藏着非常多的问题。从使用上来看，该函数的实现既不能干扰系统的正常运行，本身又要足够的可靠；而且由于内核l代码在各种上下文环境下都会调用这个函数，所以它的底层逻辑跟系统的方方面面都会纠缠在一起，实现起来特别复杂。28 年过去了，内核l开发者对 `printk()` 仍然非常不满意。在 2019 Linux Plumbers 会议上，John Ogness 介绍了`printk()` 的发展史、实现该函数的复杂性之所在，以及近期与改进这个函数相关的工作进展。更多细节可以阅读 “原文”"}}
{"actor":{"display_login":"unicornx"}}