{"push_id":1386022041,"size":2,"distinct_size":2,"ref":"refs/heads/aclfree","head":"b5064e777423b4d22a5e04edb75fd557df3c72d3","before":"783becf2414e9b530ff6682c55c0bc495fc0d882","commits":[{"sha":"1fe3952801bae8617cce7123cc1eb1fb0684e327","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Batch free zpl_posix_acl_release\n\nCurrently every calls to zpl_posix_acl_release will schedule a delayed task,\nand each delayed task will add a timer. This used to be fine except for\npossibly bad performance impact.\n\nHowever, in Linux 4.8, a new timer wheel implementation[1] is introduced. In\nthis new implementation, the larger the delay, the less accuracy the timer is.\nSo when we have a flood of timer from zpl_posix_acl_release, they will expire\nat the same time. Couple with the fact that task_expire will do linear search\nwith lock held. This causes an extreme amount of contention inside interrupt\nand would actually lockup the system.\n\nWe fix this by doing batch free to prevent a flood of delayed task. Every call\nto zpl_posix_acl_release will put the posix_acl to be freed on a lockless\nlist. Every batch window, 1 sec, the zpl_posix_acl_free will fire up and free\nevery posix_acl that passed the grace period on the list. This way, we only\nhave one delayed task every second.\n\n[1] https://lwn.net/Articles/646950/\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>","distinct":true,"url":"https://api.github.com/repos/tuxoko/zfs/commits/1fe3952801bae8617cce7123cc1eb1fb0684e327"},{"sha":"b5064e777423b4d22a5e04edb75fd557df3c72d3","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Use set_cached_acl and forget_cached_acl when possible\n\nOriginally, these two function are inline, so their usability is tied to\nposix_acl_release. However, since Linux 3.14, they became EXPORT_SYMBOL, so we\ncan always use them. In this patch, we create an independent test for these\ntwo functions so we can use them when possible.\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>","distinct":true,"url":"https://api.github.com/repos/tuxoko/zfs/commits/b5064e777423b4d22a5e04edb75fd557df3c72d3"}]}
{"actor":{"display_login":"tuxoko"}}