Git Product home page Git Product logo

Comments (3)

vincentxw avatar vincentxw commented on June 22, 2024

Depending on the OS or hardware you're running on, yes. The application is trying to send a packet periodically (e.g. every 500us). However, the OS's scheduler might pre-empt the application and perform some operations that take longer than 500us, resulting in a delay in the next packet. These should be the occasional "misses" or outliers you observe.

Our project/apps were tested in a PREEMPT_RT-enabled kernel and was optimized through some BIOS settings and scripts to ensure our application has sufficient priority to run at a interval with no occassional spikes/misses. The specific version it was verified on is documented here:

from iotg_tsn_ref_sw.

duiduiba avatar duiduiba commented on June 22, 2024

Hi,
Thanks.

I use the command "tc -stats qdisc show dev ens3" and get info below. It seems the kernel drops the pkt in etf_dequeue_timesortedlist.
qdisc etf 80ec: dev ens3 parent 100:1 clockid TAI delta 5000000 offload on deadline_mode off
Sent 49693632 bytes 776463 pkt (dropped 125, overlimits 125 requeues 0)

In fact, I use the RT kernel with kernel version 5.2.21-rt13, and I suspect the hrtimer of ETF is not so accurately in ns.

from iotg_tsn_ref_sw.

duiduiba avatar duiduiba commented on June 22, 2024

Hi,
I add -E option when running the app, and print the time gap between now and tstamp in the pkt in function process_socket_error_queue of app, and get the diff almost 10ms. I enlarge the waketx_delay of the app to 19ms and delta of the etf qdisc to 20ms, and it won't happen again.

from iotg_tsn_ref_sw.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.