Re: Comments on the KSE option



On Sunday 29 October 2006 03:41, Paul Allen wrote:
Let us suppose that this M:N business is important, perhaps something
to consider is why and whether the kernel has so much knowledge of it.

If I read Matt Dillon's comment closely enough, I believe his precise
recommendation was not "something like kse as Julian read it" but
rather something where this M:N component was entirely part of the
userland threading support and therefore would just go away or not
depending on which library you linked with.

I think posix might require a global priority space though...


Yes, I think if libpthread wants to implement POSIX priority mutex and
SCHED_FIFO, SCHED_RR for system scope thread, it should work out a
way to unify priority for all process scope and system scope threads,
it has to support it if we want to implement process-shared mutex,
current we can not but other OS can, I found Solaris's M:N implementation
will bind a M:N thread on a LWP once it has owned a PRIO_INHERIT or
PRIO_PROTECT mutex and raise the LWP's priority, fix me if I am wrong.
Solaris now favors 1:1.

Anyways it remains dubious in my mind that the kernel should allow
a user to create many processes but penalize creating threads.

The only reason I can think of is that you expect people to be sloppy
with their threads and careful with their processes.

Still if I am ray-tracing why should I need to make a point of picking
my thread/process balance to get around your mechanism. If fairness
is the goal why am I even allowed to do so?
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • [PATCH] Document futex PI design
    ... +Unbounded Priority Inversion ... +to use a resource that a lower priority process has (a mutex for example), ... +waiter - A waiter is a struct that is stored on the stack of a blocked ... +The mutex structure contains a pointer to the owner of the mutex. ...
    (Linux-Kernel)
  • Re: [PATCH] Document futex PI design
    ... +Unbounded Priority Inversion ... +to use a resource that a lower priority process has (a mutex for example), ... +waiter - A waiter is a struct that is stored on the stack of a blocked ... +The mutex structure contains a pointer to the owner of the mutex. ...
    (Linux-Kernel)
  • [PATCH -mm 01/02] Update rt-mutex-design.txt per Randy Dunlap
    ... The classic example of unbounded priority inversion is were you have three ... the PI locks will be called a mutex. ... waiter - A waiter is a struct that is stored on the stack of a blocked ... The mutex structure contains a pointer to the owner of the mutex. ...
    (Linux-Kernel)
  • Re: [PATCH] Document futex PI design
    ... +processes, lets call them processes A, B, and C, where A is the highest priority ... +waiter - A waiter is a struct that is stored on the stack of a blocked ... +blocked on mutex L2. ... In this case, the task is removed from the pi_list of the owner, ...
    (Linux-Kernel)
  • Re: pthread_mutex_unlock (was Re: sched_yield() makes OpenLDAP slow)
    ... "technical reviewer" of a few chapters of the .4 drafts [Posix.1a spec]. ... B runs and ends up blocked on the mutex. ... the SUS discussion of priority inheritance would never need ... Priority inheritance and priority ceiling options were ...
    (Linux-Kernel)