|
Re: [RFC] shadow threads with prio 0 / SCHED_NORMAL: msg#00191linux.real-time.xenomai.devel
Philippe Gerum wrote: > Gilles Chanteperdrix wrote: >> Philippe Gerum wrote: >> > What I suggested was to let people create normal threads using > >> pthread_create (likely conforming to the SCHED_OTHER policy), then use >> > the redirected pthread_setschedparam syscall (i.e. always applied >> to the > current thread) to promote them as Xenomai shadows, but >> leave them in > their original scheduling class. The same goes for >> rt_task_shadow. This > would be explicit actions that would not leave >> much room for "surprises". >> >> If I understand correctly, you mean that one should not be able to >> create real-time threads with pthread_create. My question was about what >> to do of explicit scheduling parameters passed to pthread_create through >> thread creation attributes. > > Nope, this is obviously not what I meant... :o> > > This is how one would create hybrids, without changing anything else to > the current interface: > > pthread_attr_init(&attr); > ... > pthread_attr_setschedpolicy(&attr,SCHED_OTHER); > ... > pthread_create(...,&attr,&foo,NULL); > > and, > > void *foo (void *cookie) > { > /* The following call maps a shadow thread to "current", but > currently only accepts SCHED_FIFO, and would be changed to > allow SCHED_OTHER/NORMAL. */ > pthread_setschedparam(...,SCHED_OTHER,...); > /* OR, for the native API */ > rt_task_shadow(...,pri=0,...); > } > I think it melts down to the question: which kind of SCHED_OTHER threads will be more common in applications, the hybrid or the normal ones? Remember that we also still have the __real_pthread_create interface for creating /really/ normal threads... The advantage of making hybrids default, even for the attr=NULL case, would be that the user will be able to interact with real-time SCHED_FIFO/RR threads without further coding effort (might be interesting for porting existing apps...). How much overhead would default-shadowing introduce when it is not used actively? Is it just the kernel pthread structure? Maybe we should consider allocating that structure from normal kernel memory to save rt-memory resources (under memory pressure, there is a risk in failing to create the Linux mate anyway). I could also imagine that SCHED_OTHER threads will get started in relaxed mode by default so that the Xenomai scheduler will not be additionally loaded. Jan
Xenomai-core mailing list Xenomai-core@xxxxxxx https://mail.gna.org/listinfo/xenomai-core |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [RFC] shadow threads with prio 0 / SCHED_NORMAL: 00191, Philippe Gerum |
|---|---|
| Next by Date: | Re: [RFC] shadow threads with prio 0 / SCHED_NORMAL: 00191, Philippe Gerum |
| Previous by Thread: | Re: [RFC] shadow threads with prio 0 / SCHED_NORMALi: 00191, Philippe Gerum |
| Next by Thread: | Re: [RFC] shadow threads with prio 0 / SCHED_NORMAL: 00191, Philippe Gerum |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |