{"action":"created","issue":{"url":"https://api.github.com/repos/softdevteam/krun/issues/202","repository_url":"https://api.github.com/repos/softdevteam/krun","labels_url":"https://api.github.com/repos/softdevteam/krun/issues/202/labels{/name}","comments_url":"https://api.github.com/repos/softdevteam/krun/issues/202/comments","events_url":"https://api.github.com/repos/softdevteam/krun/issues/202/events","html_url":"https://github.com/softdevteam/krun/pull/202","id":154448023,"number":202,"title":"New Linux pinning strategy using a cset shield. Pin by default.","user":{"login":"vext01","id":604955,"avatar_url":"https://avatars.githubusercontent.com/u/604955?v=3","gravatar_id":"","url":"https://api.github.com/users/vext01","html_url":"https://github.com/vext01","followers_url":"https://api.github.com/users/vext01/followers","following_url":"https://api.github.com/users/vext01/following{/other_user}","gists_url":"https://api.github.com/users/vext01/gists{/gist_id}","starred_url":"https://api.github.com/users/vext01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vext01/subscriptions","organizations_url":"https://api.github.com/users/vext01/orgs","repos_url":"https://api.github.com/users/vext01/repos","events_url":"https://api.github.com/users/vext01/events{/privacy}","received_events_url":"https://api.github.com/users/vext01/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"snim2","id":97674,"avatar_url":"https://avatars.githubusercontent.com/u/97674?v=3","gravatar_id":"","url":"https://api.github.com/users/snim2","html_url":"https://github.com/snim2","followers_url":"https://api.github.com/users/snim2/followers","following_url":"https://api.github.com/users/snim2/following{/other_user}","gists_url":"https://api.github.com/users/snim2/gists{/gist_id}","starred_url":"https://api.github.com/users/snim2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snim2/subscriptions","organizations_url":"https://api.github.com/users/snim2/orgs","repos_url":"https://api.github.com/users/snim2/repos","events_url":"https://api.github.com/users/snim2/events{/privacy}","received_events_url":"https://api.github.com/users/snim2/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2016-05-12T10:23:02Z","updated_at":"2016-05-12T13:24:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/softdevteam/krun/pulls/202","html_url":"https://github.com/softdevteam/krun/pull/202","diff_url":"https://github.com/softdevteam/krun/pull/202.diff","patch_url":"https://github.com/softdevteam/krun/pull/202.patch"},"body":"Here's a start on the new pinning code. Please do not merge yet. I would like to test it some more and look for non-linux breakage.\r\n\r\nWork in progress...\r\n\r\nI recommend skimming the cset tutorial to see roughly what this is all about:\r\nhttps://rt.wiki.kernel.org/index.php/Cpuset_Management_Utility/tutorial\r\n\r\nIn short, if the system has N cores, we create a N-1 core shield. All user tasks are migrated off the shield (a.k.a. the \"user cset\") onto the remaining core (the \"system cset\"). We move many kernel threads as possible too (you can't move them all). The N-1 cores are the same cores that are in adaptive tick mode. The core not in the shield is the boot processor.\r\n\r\nAlso:\r\n * We can now use the default scheduling policy `SCHED_OTHER`. A platform sanity check is checking for this.\r\n * This scheduler uses only nice priorities, so I've removed the static priority code.\r\n * Turn pinning back on by default.\r\n * Check `isolcpus` is not used, as this will interfere with the shield.\r\n\r\nIt's a big change and there's bound to be mistakes. Please check carefully.\r\n"},"comment":{"url":"https://api.github.com/repos/softdevteam/krun/issues/comments/218755534","html_url":"https://github.com/softdevteam/krun/pull/202#issuecomment-218755534","issue_url":"https://api.github.com/repos/softdevteam/krun/issues/202","id":218755534,"user":{"login":"snim2","id":97674,"avatar_url":"https://avatars.githubusercontent.com/u/97674?v=3","gravatar_id":"","url":"https://api.github.com/users/snim2","html_url":"https://github.com/snim2","followers_url":"https://api.github.com/users/snim2/followers","following_url":"https://api.github.com/users/snim2/following{/other_user}","gists_url":"https://api.github.com/users/snim2/gists{/gist_id}","starred_url":"https://api.github.com/users/snim2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snim2/subscriptions","organizations_url":"https://api.github.com/users/snim2/orgs","repos_url":"https://api.github.com/users/snim2/repos","events_url":"https://api.github.com/users/snim2/events{/privacy}","received_events_url":"https://api.github.com/users/snim2/received_events","type":"User","site_admin":false},"created_at":"2016-05-12T13:24:00Z","updated_at":"2016-05-12T13:24:00Z","body":"Can I test this with a normal Linux kernel?"}}