Hi,

after receiving SIGXCPU for unexpected context switches in a larger
application, I found out that the T_FPU bit does not seem to be
recognised on x86 during native task creation. Here is a simple test
case, watch out for /proc/xenomai/faults after program start and 5 s later:

#include <native/task.h>
#include <sys/mman.h>

float x;

void task_func(void *p)
{
    rt_task_sleep(5000000000LL);
    x = 3.14 + (int)p;
}

main()
{
    RT_TASK task;

    mlockall(MCL_CURRENT|MCL_FUTURE);

    rt_task_spawn(&task, NULL, 0, 40, T_FPU | T_JOINABLE, task_func, 0);
    rt_task_join(&task);

    return 0;
}


Any immediate ideas?

Jan


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to