Deleted Added
full compact
34c34
< * $FreeBSD: head/lib/libkse/thread/thr_private.h 113942 2003-04-23 21:46:50Z deischen $
---
> * $FreeBSD: head/lib/libkse/thread/thr_private.h 114187 2003-04-28 23:56:12Z deischen $
145a146
> int pq_threads;
199a201
> int k_idle; /* kse is idle */
297c299
< #define KSE_CLEAR_WAIT(kse) atomic_set_acq_int(&(kse)->k_waiting, 0)
---
> #define KSE_CLEAR_WAIT(kse) atomic_store_rel_int(&(kse)->k_waiting, 0)
301a304,307
> #define KSE_SET_IDLE(kse) ((kse)->k_idle = 1)
> #define KSE_CLEAR_IDLE(kse) ((kse)->k_idle = 0)
> #define KSE_IS_IDLE(kse) ((kse)->k_idle != 0)
>
660a667
> int lock_switch;
806c813,814
< !(THR_IN_CRITICAL(thrd))) \
---
> !(THR_IN_CRITICAL(thrd))) { \
> THR_LOCK_SWITCH(thrd); \
807a816,817
> THR_UNLOCK_SWITCH(thrd); \
> } \
831c841
< if ((thrd)->locklevel != 0) \
---
> if ((thrd)->lock_switch) \
833,836c843,845
< else if ((thrd)->critical_yield != 0) \
< _thr_sched_switch(thrd); \
< else if ((thrd)->check_pending != 0) \
< _thr_sig_check_pending(thrd); \
---
> else { \
> THR_YIELD_CHECK(thrd); \
> } \
839a849,865
> #define THR_LOCK_SWITCH(thrd) \
> do { \
> THR_ASSERT(!(thrd)->lock_switch, "context switch locked"); \
> _kse_critical_enter(); \
> KSE_SCHED_LOCK((thrd)->kse, (thrd)->kseg); \
> (thrd)->lock_switch = 1; \
> } while (0)
>
> #define THR_UNLOCK_SWITCH(thrd) \
> do { \
> THR_ASSERT((thrd)->lock_switch, "context switch not locked"); \
> THR_ASSERT(_kse_in_critical(), "Er,not in critical region"); \
> (thrd)->lock_switch = 0; \
> KSE_SCHED_UNLOCK((thrd)->kse, (thrd)->kseg); \
> _kse_critical_leave(&thrd->tmbx); \
> } while (0)
>
910,911d935
< if ((curthr)->locklevel == 0) \
< THR_YIELD_CHECK(curthr); \
919a944
> THR_LOCK_SWITCH(thr); \
920a946
> THR_UNLOCK_SWITCH(thr); \
1094a1121,1122
> int _thr_setconcurrency(int new_level);
> int _thr_setmaxconcurrency(void);