{"action":"created","issue":{"url":"https://api.github.com/repos/Qthreads/qthreads/issues/26","repository_url":"https://api.github.com/repos/Qthreads/qthreads","labels_url":"https://api.github.com/repos/Qthreads/qthreads/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/Qthreads/qthreads/issues/26/comments","events_url":"https://api.github.com/repos/Qthreads/qthreads/issues/26/events","html_url":"https://github.com/Qthreads/qthreads/pull/26","id":172052768,"number":26,"title":"Add aligned readXX","user":{"login":"ronawho","id":1588337,"avatar_url":"https://avatars.githubusercontent.com/u/1588337?v=3","gravatar_id":"","url":"https://api.github.com/users/ronawho","html_url":"https://github.com/ronawho","followers_url":"https://api.github.com/users/ronawho/followers","following_url":"https://api.github.com/users/ronawho/following{/other_user}","gists_url":"https://api.github.com/users/ronawho/gists{/gist_id}","starred_url":"https://api.github.com/users/ronawho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronawho/subscriptions","organizations_url":"https://api.github.com/users/ronawho/orgs","repos_url":"https://api.github.com/users/ronawho/repos","events_url":"https://api.github.com/users/ronawho/events{/privacy}","received_events_url":"https://api.github.com/users/ronawho/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-08-19T04:34:13Z","updated_at":"2016-08-24T16:41:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Qthreads/qthreads/pulls/26","html_url":"https://github.com/Qthreads/qthreads/pull/26","diff_url":"https://github.com/Qthreads/qthreads/pull/26.diff","patch_url":"https://github.com/Qthreads/qthreads/pull/26.patch"},"body":"This adds support for readXX on aligned (but not syncvar_t) FEB vars\r\n\r\nqthread_readXX is really just a simple wrapper around:\r\n\r\n```c\r\nif (dest && (dest != src)) {\r\n    *(aligned_t *)dest = *(aligned_t *)src;\r\n    MACHINE_FENCE;\r\n}\r\n```\r\n\r\nbut it includes debug and FEB profiling calls.\r\n\r\nThis also adds some tests to check that:\r\n - readXX on a full var reads, and leaves the FEB full\r\n - readXX on an empty var reads, and leaves the FEB empty\r\n"},"comment":{"url":"https://api.github.com/repos/Qthreads/qthreads/issues/comments/242130983","html_url":"https://github.com/Qthreads/qthreads/pull/26#issuecomment-242130983","issue_url":"https://api.github.com/repos/Qthreads/qthreads/issues/26","id":242130983,"user":{"login":"stelleg","id":150376,"avatar_url":"https://avatars.githubusercontent.com/u/150376?v=3","gravatar_id":"","url":"https://api.github.com/users/stelleg","html_url":"https://github.com/stelleg","followers_url":"https://api.github.com/users/stelleg/followers","following_url":"https://api.github.com/users/stelleg/following{/other_user}","gists_url":"https://api.github.com/users/stelleg/gists{/gist_id}","starred_url":"https://api.github.com/users/stelleg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stelleg/subscriptions","organizations_url":"https://api.github.com/users/stelleg/orgs","repos_url":"https://api.github.com/users/stelleg/repos","events_url":"https://api.github.com/users/stelleg/events{/privacy}","received_events_url":"https://api.github.com/users/stelleg/received_events","type":"User","site_admin":false},"created_at":"2016-08-24T16:41:30Z","updated_at":"2016-08-24T16:41:30Z","body":"Thanks @m3m0ryh0l3 ! Really helpful to get input from the person who actually knows what all the FEB code is doing. If you see any issues with commits that are already merged that I may have missed please feel free to comment on those merges and we can try and get those fixed as soon as possible. In particular I'm a little concerned with your mention of using memory in an empty addrstat for bookkeeping, and whether or not writeE could break that, as I've run into that issue with TLS for stacks. It doesn't look like that could happen from the code, but I could have missed something.\r\n\r\nI think one of the overarching concerns is that the semantics of some of these new functions is not obvious. I think for this reason, and because we have them for the existing FEB operations, we should include with these PRs another PR with man pages that describe the relevant semantics in detail. Elliot, would you mind adding these in a separate PR? Your comments help, but I think more detailed semantics in the man pages would be more helpful, and like @m3m0ryh0l3 I'm unsure exactly what the intended semantics are. "}}
{"actor":{"display_login":"stelleg"}}