{"action":"created","issue":{"url":"https://api.github.com/repos/dokan-dev/dokany/issues/327","repository_url":"https://api.github.com/repos/dokan-dev/dokany","labels_url":"https://api.github.com/repos/dokan-dev/dokany/issues/327/labels{/name}","comments_url":"https://api.github.com/repos/dokan-dev/dokany/issues/327/comments","events_url":"https://api.github.com/repos/dokan-dev/dokany/issues/327/events","html_url":"https://github.com/dokan-dev/dokany/pull/327","id":174605259,"number":327,"title":"sys: Use FCB locks for CCBs","user":{"login":"taruti","id":42174,"avatar_url":"https://avatars.githubusercontent.com/u/42174?v=3","gravatar_id":"","url":"https://api.github.com/users/taruti","html_url":"https://github.com/taruti","followers_url":"https://api.github.com/users/taruti/followers","following_url":"https://api.github.com/users/taruti/following{/other_user}","gists_url":"https://api.github.com/users/taruti/gists{/gist_id}","starred_url":"https://api.github.com/users/taruti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taruti/subscriptions","organizations_url":"https://api.github.com/users/taruti/orgs","repos_url":"https://api.github.com/users/taruti/repos","events_url":"https://api.github.com/users/taruti/events{/privacy}","received_events_url":"https://api.github.com/users/taruti/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-09-01T19:26:21Z","updated_at":"2016-09-04T16:26:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dokan-dev/dokany/pulls/327","html_url":"https://github.com/dokan-dev/dokany/pull/327","diff_url":"https://github.com/dokan-dev/dokany/pull/327.diff","patch_url":"https://github.com/dokan-dev/dokany/pull/327.patch"},"body":"This might be somewhat controversial - it simplifies some things - and requires less locks - but might be pessimistic in cases with a lot of lock contention.\r\n\r\nThere is no hurry to merge this and doing this in another way might be sensible :)\r\n\r\nShould we use separate CCB locks?\r\n\r\nMerging the locks means:\r\n+ Somewhat simpler code\r\n+ Somewhat smaller CCBs and less locks around\r\n+ No need to be careful to take FCB and CCB locks in the right sequence\r\n+ In places where both  FCB and CCB lock would be used just the FCB lock suffices\r\n+ Which can be faster if there is not very much contention\r\n- We take an FCB lock in a few places where a CCB specific one would suffice\r\n- Which can be slower if there is lots of contention\r\n\r\nI have left UserContext alone with this patch.\r\n\r\nLooking forward to discuss this :)"},"comment":{"url":"https://api.github.com/repos/dokan-dev/dokany/issues/comments/244612895","html_url":"https://github.com/dokan-dev/dokany/pull/327#issuecomment-244612895","issue_url":"https://api.github.com/repos/dokan-dev/dokany/issues/327","id":244612895,"user":{"login":"marinkobabic","id":3265080,"avatar_url":"https://avatars.githubusercontent.com/u/3265080?v=3","gravatar_id":"","url":"https://api.github.com/users/marinkobabic","html_url":"https://github.com/marinkobabic","followers_url":"https://api.github.com/users/marinkobabic/followers","following_url":"https://api.github.com/users/marinkobabic/following{/other_user}","gists_url":"https://api.github.com/users/marinkobabic/gists{/gist_id}","starred_url":"https://api.github.com/users/marinkobabic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marinkobabic/subscriptions","organizations_url":"https://api.github.com/users/marinkobabic/orgs","repos_url":"https://api.github.com/users/marinkobabic/repos","events_url":"https://api.github.com/users/marinkobabic/events{/privacy}","received_events_url":"https://api.github.com/users/marinkobabic/received_events","type":"User","site_admin":false},"created_at":"2016-09-04T16:26:22Z","updated_at":"2016-09-04T16:26:22Z","body":"The lifetime of fcb is much bigger than the one of the ccb. Also the fcb is more global than an ccb. Blocking fcb because of changes on ccb would be inefficient. Threads would unnecessary be blocked. Its like blocking the whole house because of some changes in a room instead of blocking just the room itself. "}}
{"actor":{"display_login":"marinkobabic"}}