G/C unused declaration; fix few comments on locking; whitespaces.

No functional changes.
This commit is contained in:
rmind 2011-01-18 20:17:50 +00:00
parent d36a58c27d
commit 00073dba63
1 changed files with 33 additions and 35 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: lwp.h,v 1.140 2011/01/14 02:06:34 rmind Exp $ */
/* $NetBSD: lwp.h,v 1.141 2011/01/18 20:17:50 rmind Exp $ */
/*-
* Copyright (c) 2001, 2006, 2007, 2008, 2009, 2010
@ -62,7 +62,6 @@
* S: l_selcluster->sc_lock
* (: unlocked, stable
* !: unlocked, may only be reliably accessed by the LWP itself
* ?: undecided
*
* Fields are clustered together by usage (to increase the likelyhood
* of cache hits) and by size (to reduce dead space in the structure).
@ -72,7 +71,7 @@ struct sadata_vp;
struct sysent;
struct lwp {
/* Scheduling and overall state */
/* Scheduling and overall state. */
TAILQ_ENTRY(lwp) l_runq; /* s: run queue */
union {
void * info; /* s: scheduler-specific structure */
@ -112,7 +111,7 @@ struct lwp {
kcpuset_t *l_affinity; /* l: CPU set for affinity */
struct sadata_vp *l_savp; /* p: SA "virtual processor" */
/* Synchronisation */
/* Synchronisation. */
struct turnstile *l_ts; /* l: current turnstile */
struct syncobj *l_syncobj; /* l: sync object operations set */
TAILQ_ENTRY(lwp) l_sleepchain; /* l: sleep queue */
@ -136,16 +135,16 @@ struct lwp {
lwpid_t l_lid; /* (: LWP identifier; local to proc */
char *l_name; /* (: name, optional */
/* State of select() or poll() */
/* State of select() or poll(). */
int l_selflag; /* S: polling state flags */
SLIST_HEAD(,selinfo) l_selwait; /* S: descriptors waited on */
int l_selret; /* S: return value of select/poll */
uintptr_t l_selrec; /* (: argument for selrecord() */
struct selcluster *l_selcluster;/* (: associated cluster data */
uintptr_t l_selrec; /* !: argument for selrecord() */
struct selcluster *l_selcluster;/* !: associated cluster data */
void * l_selbits; /* (: select() bit-field */
size_t l_selni; /* (: size of a single bit-field */
/* Signals */
/* Signals. */
int l_sigrestore; /* p: need to restore old sig mask */
sigset_t l_sigwaitset; /* p: signals being waited for */
kcondvar_t l_sigcv; /* p: for sigsuspend() */
@ -157,7 +156,7 @@ struct lwp {
sigpend_t l_sigpend; /* p: signals to this LWP */
sigset_t l_sigoldmask; /* p: mask for sigpause */
/* Private data */
/* Private data. */
specificdata_reference
l_specdataref; /* !: subsystem lwp-specific data */
struct timespec l_ktrcsw; /* !: for ktrace CSW trace XXX */
@ -184,11 +183,11 @@ struct lwp {
int l_tcgen; /* !: for timecounter removal */
int l_unused2; /* !: for future use */
/* These are only used by 'options SYSCALL_TIMES' */
uint32_t l_syscall_time; /* !: time epoch for current syscall */
uint64_t *l_syscall_counter; /* !: counter for current process */
/* These are only used by 'options SYSCALL_TIMES'. */
uint32_t l_syscall_time; /* !: time epoch for current syscall */
uint64_t *l_syscall_counter; /* !: counter for current process */
struct kdtrace_thread *l_dtrace; /* ?: DTrace-specific data. */
struct kdtrace_thread *l_dtrace; /* (: DTrace-specific data. */
};
/*
@ -206,11 +205,11 @@ lwp_getpcb(struct lwp *l)
return l->l_addr;
}
LIST_HEAD(lwplist, lwp); /* a list of LWPs */
LIST_HEAD(lwplist, lwp); /* A list of LWPs. */
#ifdef _KERNEL
extern struct lwplist alllwp; /* List of all LWPs. */
extern lwp_t lwp0; /* LWP for proc0 */
extern struct lwplist alllwp; /* List of all LWPs. */
extern lwp_t lwp0; /* LWP for proc0. */
#endif
/* These flags are kept in l_flag. */
@ -286,12 +285,18 @@ do { \
lwp_update_creds(l); \
} while (/* CONSTCOND */ 0)
void lwpinit(void);
void lwp0_init(void);
void lwp_sys_init(void);
void lwp_startup(lwp_t *, lwp_t *);
void startlwp(void *);
void cpu_setfunc(lwp_t *, void (*)(void *), void *);
void upcallret(lwp_t *);
int lwp_locked(lwp_t *, kmutex_t *);
void lwp_setlock(lwp_t *, kmutex_t *);
void lwp_unlock_to(lwp_t *, kmutex_t *);
void lwp_relock(lwp_t *, kmutex_t *);
int lwp_trylock(lwp_t *);
void lwp_addref(lwp_t *);
void lwp_delref(lwp_t *);
@ -302,48 +307,41 @@ lwp_t *lwp_find_first(proc_t *);
/* Flags for _lwp_wait1 */
#define LWPWAIT_EXITCONTROL 0x00000001
void lwpinit(void);
void lwp0_init(void);
int lwp_wait1(lwp_t *, lwpid_t, lwpid_t *, int);
int lwp_wait1(lwp_t *, lwpid_t, lwpid_t *, int);
void lwp_continue(lwp_t *);
void lwp_unsleep(lwp_t *, bool);
void lwp_unstop(lwp_t *);
void cpu_setfunc(lwp_t *, void (*)(void *), void *);
void startlwp(void *);
void upcallret(lwp_t *);
void lwp_exit(lwp_t *);
void lwp_exit_switchaway(lwp_t *) __dead;
int lwp_suspend(lwp_t *, lwp_t *);
int lwp_create1(lwp_t *, const void *, size_t, u_long, lwpid_t *);
void lwp_update_creds(lwp_t *);
void lwp_migrate(lwp_t *, struct cpu_info *);
lwp_t *lwp_find2(pid_t, lwpid_t);
lwp_t *lwp_find(proc_t *, int);
lwp_t * lwp_find2(pid_t, lwpid_t);
lwp_t * lwp_find(proc_t *, int);
void lwp_userret(lwp_t *);
void lwp_need_userret(lwp_t *);
void lwp_free(lwp_t *, bool, bool);
void lwp_sys_init(void);
void lwp_unsleep(lwp_t *, bool);
uint64_t lwp_pctr(void);
int lwp_setprivate(lwp_t *, void *);
void lwpinit_specificdata(void);
int lwp_specific_key_create(specificdata_key_t *, specificdata_dtor_t);
void lwp_specific_key_delete(specificdata_key_t);
void lwp_initspecific(lwp_t *);
void lwp_finispecific(lwp_t *);
void lwp_initspecific(lwp_t *);
void lwp_finispecific(lwp_t *);
void *lwp_getspecific(specificdata_key_t);
#if defined(_LWP_API_PRIVATE)
void *_lwp_getspecific_by_lwp(lwp_t *, specificdata_key_t);
#endif
void lwp_setspecific(specificdata_key_t, void *);
/* Syscalls */
/* Syscalls. */
int lwp_park(struct timespec *, const void *);
int lwp_unpark(lwpid_t, const void *);
/* ddb */
void lwp_whatis(uintptr_t, void (*)(const char *, ...));
/* DDB. */
void lwp_whatis(uintptr_t, void (*)(const char *, ...));
/*
* Lock an LWP. XXX _MODULE
@ -497,8 +495,8 @@ KPREEMPT_ENABLE(lwp_t *l)
#endif /* _KERNEL */
/* Flags for _lwp_create(), as per Solaris. */
#define LWP_DETACHED 0x00000040
#define LWP_SUSPENDED 0x00000080
#define LWP_DETACHED 0x00000040
#define LWP_SUSPENDED 0x00000080
/* Kernel-internal flags for LWP creation. */
#define LWP_PIDLID 0x40000000