Summary: | threads hang with xorg running | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Peter <dreigcht> | ||||
Component: | threads | Assignee: | freebsd-threads (Nobody) <threads> | ||||
Status: | Open --- | ||||||
Severity: | Affects Only Me | ||||||
Priority: | Normal | ||||||
Version: | Unspecified | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Peter
2008-11-16 19:20:01 UTC
Some additional information: The example works fine on FreeBSD 6.3: when linked with libpthread (-lpthread) or when linked with libthr (-lthr) The example works fine on FreeBSD 7.0 and 7.1: when linked with libkse (-lkse) The example does not work and threads hang as I described earlier: when linked with lthr (-lthr or -lpthread that is the same on FreeBSD 7). Therefore it seems to me that there is some problem in the new version of the library "libthr" included in FreeBSD 7.0 and 7.1. Some additional information FreeBSD 7.1 RC-1 amd64 and FreeBSD 7.1 RC-1 i386: The problem exists in both systems if the program links with pthread; no problem exists if the program links with kse. Try to set scheduler's preemption threshold to large priority value, the default one is too low for cpu-bound application, and can starve other threads under heavy cpu load. for example: sysctl kern.sched.preempt_thresh=220 On 7.x and 8.0 kernel, I always set a large value for my Desktop PC. Regards, David Xu For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped |