{"action":"created","issue":{"url":"https://api.github.com/repos/ntop/PF_RING/issues/244","repository_url":"https://api.github.com/repos/ntop/PF_RING","labels_url":"https://api.github.com/repos/ntop/PF_RING/issues/244/labels{/name}","comments_url":"https://api.github.com/repos/ntop/PF_RING/issues/244/comments","events_url":"https://api.github.com/repos/ntop/PF_RING/issues/244/events","html_url":"https://github.com/ntop/PF_RING/issues/244","id":246104696,"number":244,"title":"Frame loss when frame count is not multiple of 4","user":{"login":"desbma","id":1145175,"avatar_url":"https://avatars1.githubusercontent.com/u/1145175?v=4","gravatar_id":"","url":"https://api.github.com/users/desbma","html_url":"https://github.com/desbma","followers_url":"https://api.github.com/users/desbma/followers","following_url":"https://api.github.com/users/desbma/following{/other_user}","gists_url":"https://api.github.com/users/desbma/gists{/gist_id}","starred_url":"https://api.github.com/users/desbma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/desbma/subscriptions","organizations_url":"https://api.github.com/users/desbma/orgs","repos_url":"https://api.github.com/users/desbma/repos","events_url":"https://api.github.com/users/desbma/events{/privacy}","received_events_url":"https://api.github.com/users/desbma/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2017-07-27T16:55:20Z","updated_at":"2017-08-11T12:30:24Z","closed_at":null,"body":"I am trying various software configurations to capture with 0% loss, at full link speed on 2 x 10 GbE interfaces.\r\nI am doing my tests with 60 B frames to simulate worst case.\r\n\r\nI tried the following, everytime with some percentage of lost frames:\r\n* 2 devices, 1 balancer, 2 reader threads (`zbalance`) => 15-20% loss\r\n* 2 devices, 1 balancer per device, and a reader thread per balancer => <0.1% loss\r\n  This configuration segfaults when compiled in debug mode, see #242, so there may be some silent internal PF_Ring data corruption even when compiling with `-O2`.\r\n* 2 devices, a reader thread per device => 1-5 frames lost over the millions I have sent\r\n\r\nThe CPU hosting the 2 reader threads are only loaded by ~35% in the last test.\r\nI tried playing with the burst length, number of threads, etc. but I never managed to get 0 loss, even though it's pretty close in the last case.\r\n\r\nThe only thing I have not yet tested is to have 2 RSS queues per interface (so 4 PF_Ring devices), and a reader thread per device, but that last test with only a few frames lost over several millions makes me think I should be able to get 0.\r\n\r\nMy environment is the following:\r\n\r\n* PF_Ring ZC 6.6.0 (commercial license)\r\n* Linux kernel 4.4 (from Ubuntu 16.04)\r\n* 2 x 10GbE Intel XL710 NICs\r\n* 16 GB of 2MB hugepages\r\n* MTU set to 9000\r\n\r\nThank you"},"comment":{"url":"https://api.github.com/repos/ntop/PF_RING/issues/comments/321800258","html_url":"https://github.com/ntop/PF_RING/issues/244#issuecomment-321800258","issue_url":"https://api.github.com/repos/ntop/PF_RING/issues/244","id":321800258,"user":{"login":"desbma","id":1145175,"avatar_url":"https://avatars1.githubusercontent.com/u/1145175?v=4","gravatar_id":"","url":"https://api.github.com/users/desbma","html_url":"https://github.com/desbma","followers_url":"https://api.github.com/users/desbma/followers","following_url":"https://api.github.com/users/desbma/following{/other_user}","gists_url":"https://api.github.com/users/desbma/gists{/gist_id}","starred_url":"https://api.github.com/users/desbma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/desbma/subscriptions","organizations_url":"https://api.github.com/users/desbma/orgs","repos_url":"https://api.github.com/users/desbma/repos","events_url":"https://api.github.com/users/desbma/events{/privacy}","received_events_url":"https://api.github.com/users/desbma/received_events","type":"User","site_admin":false},"created_at":"2017-08-11T12:30:24Z","updated_at":"2017-08-11T12:30:24Z","body":"I did further analysis, and I can confirme the problem is due to the last few frames who are lost **when the frame count is not multiple of 4**. I have renamed the issue accordingly.\r\n\r\nTo reproduce very easily, with systematic occurence:\r\n\r\n1. Start zcount with for example:\r\n`zcount -i zc:enp15s0f0 -c 0 -g 4`\r\n\r\n2. Send 4 frames\r\n\r\n3. See zcount counter if correctly incremented by 4\r\n\r\n4. Send 3 frames\r\n\r\n5. **See zcount counter does not change, and stops updating even when waiting several seconds**\r\n\r\n6. Send 1 frame, see counter updates to 8"}}
{"actor":{"display_login":"desbma"}}