-
Notifications
You must be signed in to change notification settings - Fork 195
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
How to handle the removal of ICUB_USE_REALTIME_LINUX macro #1233
Comments
Hi @diegoferigo, so far this code is required to run only on Linux.
and then to proceed with enhancement of |
Doing that makes sense (and the macro is Keeping in mind that Kernel IRQs have a priority equal to
I explain better the ranges I chose for the proposed values in #1215 (comment). |
I think the RT support can be enabled by default only in linux builds, this can be easily achieved in CMake (we should change the name of the ICUB_USE_REALTIME_LINUX definition to something else (ROBOT_INTERFACE_USE_REALTIME_LINUX). I would keep the default only for yarprobotinterface. Why not adding the |
For the time being, with robotology/icub-main#453 I turned on by default the code wrapped by the Doing this in the |
|
Trying to simplify the resolution of #1215, here I'm going to dissect only the
ICUB_USE_REALTIME_LINUX
discussion.This macro is currently used in src/yarprobotinterface/main.cpp and no CMake option does exist in YARP. The reason is that this portion of code was moved a while ago from
robotology/icub-main
.Following the issue referred above, all the other locations where this macro is used are in
icub-main
, where a CMake option does exist but it disabled by default.The code wrapped by this macro is unix specific, so at this current state it cannot be enabled by default without breaking the build on non-unix platforms. As far as I understood, we agreed that this option should be turned on by default. In order to achieve this, I propose the following strategy:
static
functions intoyarp::os::impl::ThreadImpl
that allow changing the policy & priority without the need of instantiating any objectThreadImpl
class, not breaking any APIRR
orFIFO
I had a quick look on the current status, but I have 0 knowledge about ACE and this is the main blocking factor from my point of view.
We can set a f2f meeting if needed @drdanz @marcoaccame @traversaro @lornat75
Btw, I did some quick test on iCub with and without this flag, and I didn't notice any difference. After a chat with @marcoaccame this could probably be related to the more powerful CPU that now iCub uses, and the bigger buffer of the sending / receiving threads.
The text was updated successfully, but these errors were encountered: