Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkt-gen txseq issues with ixl #936

Open
jcaplan opened this issue Aug 21, 2023 · 0 comments
Open

pkt-gen txseq issues with ixl #936

jcaplan opened this issue Aug 21, 2023 · 0 comments

Comments

@jcaplan
Copy link

jcaplan commented Aug 21, 2023

After setting hw.ixl.enable_head_writeback=0, I still see an issue with pkt-gen -f txseq where all packets are dropped. It looks like that the hw pointers are showing all slots are available but the user pointers are showing the ring is full. So poll is returning ready over and over again but then there are no available slots and I get stuck in this loop where the user pointers are never updated.

@@ -2117,6 +2118,7 @@ txseq_body(void *data)
                                break;
                        D("poll error on queue %d: %s", targ->me,
                                rv ? strerror(errno) : "timeout");
+                       continue
                        // goto quit;
                }
                if (pfd.revents & POLLERR) {
@@ -2129,6 +2131,11 @@ txseq_body(void *data)
                /* If no room poll() again. */
                space = nm_ring_space(ring);
                if (!space) {
+                       if (ioctl(pfd.fd, NIOCTXSYNC, NULL) < 0) {
+                               D("ioctl error on queue %d: %s", targ->me,
+                                       strerror(errno));
+                               goto quit;
+                       }
                        continue;
                }

similarly for sender_body.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant