Code Monkey home page Code Monkey logo

Comments (4)

tbarbette avatar tbarbette commented on August 23, 2024

Thanks for reporting the issue, this is indeed a good place to do so.

What's your launch command? And particularly the number of threads. I'll try to reproduce the error. I changed some things arround get_runnable_threads not long ago, I may have introduced a regression...

Tom

from fastclick.

davidek avatar davidek commented on August 23, 2024

When I fisrt found it I was running with -c 0x3 -n 2, but it also happens with -c 0x1 -n 1 -- -f testconf.click (the stack traces refer to this latter case, but I doubt there is any difference).

I also managed to get a configuration file to cause the crash without requiring our custom elements (it appears that in my instance doing some stretching with compund elements causes Click to schedule initalization differently):

io :: {
  input[0,1] => ToDPDKDevice(0), ToDPDKDevice(1);
  from0 :: FromDPDKDevice(0, MINQUEUES 2, MAXTHREADS 64, RSS_AGGREGATE yes);
  from1 :: FromDPDKDevice(1, MINQUEUES 2, MAXTHREADS 64, RSS_AGGREGATE yes);
  from0, from1 => [0,1]output;
}();
io[0,1] => [0,1]io;

from fastclick.

tbarbette avatar tbarbette commented on August 23, 2024

Ok I reproduced it, I'm looking into it ;)

from fastclick.

tbarbette avatar tbarbette commented on August 23, 2024

Your approach is the good one. It's what's done with FromDevice / ToDevice and what I also did with FromNetmapDevice/ToNetmapDevice. Forgot that with DPDK...

The problem is that in FromDPDKDevice, the get_runnable_thread() function depends on this element being initialized. But to initialize ToDPDKDevice, in our model we need to know which elements will "launch" threads so we can find which threads will end up in the ToDPDKDevice and allocate the minimal number of queues. So ToDPDKDeive call get_runnable_threads() on upstream elements in its own initialization routine. It's still a little unclean. I was thinking of adding a thread-initialization phase or something like that.

But last commit a62349e solve your problem, and no it should not introduce any bug. Thanks for reporting !

from fastclick.

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.