{"action":"closed","issue":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3238","repository_url":"https://api.github.com/repos/ipfs/go-ipfs","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3238/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3238/comments","events_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3238/events","html_url":"https://github.com/ipfs/go-ipfs/issues/3238","id":177847944,"number":3238,"title":"go-reuseport and system threads","user":{"login":"Kubuxu","id":2259282,"avatar_url":"https://avatars.githubusercontent.com/u/2259282?v=3","gravatar_id":"","url":"https://api.github.com/users/Kubuxu","html_url":"https://github.com/Kubuxu","followers_url":"https://api.github.com/users/Kubuxu/followers","following_url":"https://api.github.com/users/Kubuxu/following{/other_user}","gists_url":"https://api.github.com/users/Kubuxu/gists{/gist_id}","starred_url":"https://api.github.com/users/Kubuxu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kubuxu/subscriptions","organizations_url":"https://api.github.com/users/Kubuxu/orgs","repos_url":"https://api.github.com/users/Kubuxu/repos","events_url":"https://api.github.com/users/Kubuxu/events{/privacy}","received_events_url":"https://api.github.com/users/Kubuxu/received_events","type":"User","site_admin":false},"labels":[{"id":129070658,"url":"https://api.github.com/repos/ipfs/go-ipfs/labels/in%20progress","name":"in progress","color":"ededed","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-19T17:35:34Z","updated_at":"2016-11-02T20:00:18Z","closed_at":"2016-11-02T20:00:18Z","body":"This is mostly resolved, creating for the sake of tracking.\n\ngo-reuseport is currently locking a thread in systemcall every time a dial happens.\nI have recently resolved this issue on Linux in this brach https://github.com/Kubuxu/go-reuseport/tree/feat/context-dial and https://github.com/jbenet/go-reuseport/pull/16.\n\nThe change is noticeable right away, starting the daemon and adding a file triggers rapid dial due to DHT records that need to be pushed.\nIn my tests it was causing creation of upwards 200 system threads. With the changes of https://github.com/Kubuxu/go-reuseport/tree/feat/context-dial the same process doesn't create almost any threads (on polling thread is created for the lifetime of application).\n"}}
{"actor":{"display_login":"Kubuxu"}}