> Date: Fri, 05 Apr 2013 18:26:32 -0400
> From: Ted Unangst <t...@tedunangst.com>
> 
> The small bits of code hiding behind rthreads_enabled aren't really
> experimental anymore. At this point, it's just one more knob you can
> twist to break your system.

I'm not sure about the sysctl change.  Are we sure there isn't any
code out there that uses it?  In that case we should hardcode it to 1.

The other bits are ok kettenis@


> Index: kern/kern_exit.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_exit.c,v
> retrieving revision 1.121
> diff -u -p -r1.121 kern_exit.c
> --- kern/kern_exit.c  30 Mar 2013 06:32:25 -0000      1.121
> +++ kern/kern_exit.c  5 Apr 2013 22:18:44 -0000
> @@ -96,9 +96,6 @@ sys___threxit(struct proc *p, void *v, r
>               syscallarg(pid_t *) notdead;
>       } */ *uap = v;
>  
> -     if (!rthreads_enabled)
> -             return (EINVAL);
> -
>       if (SCARG(uap, notdead) != NULL) {
>               pid_t zero = 0;
>               if (copyout(&zero, SCARG(uap, notdead), sizeof(zero))) {
> Index: kern/kern_fork.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_fork.c,v
> retrieving revision 1.145
> diff -u -p -r1.145 kern_fork.c
> --- kern/kern_fork.c  14 Mar 2013 21:38:22 -0000      1.145
> +++ kern/kern_fork.c  5 Apr 2013 22:18:44 -0000
> @@ -243,8 +243,6 @@ fork1(struct proc *curp, int exitsig, in
>  
>       /* sanity check some flag combinations */
>       if (flags & FORK_THREAD) {
> -             if (!rthreads_enabled)
> -                     return (ENOTSUP);
>               if ((flags & (FORK_SIGHAND | FORK_NOZOMBIE)) !=
>                   (FORK_SIGHAND | FORK_NOZOMBIE))
>                       return (EINVAL);
> Index: kern/kern_prot.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_prot.c,v
> retrieving revision 1.55
> diff -u -p -r1.55 kern_prot.c
> --- kern/kern_prot.c  1 Oct 2012 00:08:42 -0000       1.55
> +++ kern/kern_prot.c  5 Apr 2013 22:18:44 -0000
> @@ -72,8 +72,6 @@ int
>  sys_getthrid(struct proc *p, void *v, register_t *retval)
>  {
>  
> -     if (!rthreads_enabled)
> -             return (ENOTSUP);
>       *retval = p->p_pid + THREAD_PID_OFFSET;
>       return (0);
>  }
> Index: kern/kern_sig.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_sig.c,v
> retrieving revision 1.149
> diff -u -p -r1.149 kern_sig.c
> --- kern/kern_sig.c   28 Mar 2013 16:55:25 -0000      1.149
> +++ kern/kern_sig.c   5 Apr 2013 22:18:44 -0000
> @@ -1612,9 +1612,6 @@ sys___thrsigdivert(struct proc *p, void 
>       long long to_ticks = 0;
>       int error;
>  
> -     if (!rthreads_enabled)
> -             return (ENOTSUP);
> -
>       m = NULL;
>       mask = SCARG(uap, sigmask) &~ sigcantmask;
>  
> Index: kern/kern_synch.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_synch.c,v
> retrieving revision 1.104
> diff -u -p -r1.104 kern_synch.c
> --- kern/kern_synch.c 21 Aug 2012 19:51:58 -0000      1.104
> +++ kern/kern_synch.c 5 Apr 2013 22:18:44 -0000
> @@ -409,10 +409,6 @@ sys___thrsleep(struct proc *p, void *v, 
>       long long to_ticks = 0;
>       int abort, error;
>  
> -     if (!rthreads_enabled) {
> -             *retval = ENOTSUP;
> -             return (0);
> -     }
>       if (ident == 0) {
>               *retval = EINVAL;
>               return (0);
> @@ -496,9 +492,7 @@ sys___thrwakeup(struct proc *p, void *v,
>       struct proc *q;
>       int found = 0;
>  
> -     if (!rthreads_enabled)
> -             *retval = ENOTSUP;
> -     else if (ident == 0)
> +     if (ident == 0)
>               *retval = EINVAL;
>       else {
>               TAILQ_FOREACH(q, &p->p_p->ps_threads, p_thr_link) {
> Index: kern/kern_sysctl.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_sysctl.c,v
> retrieving revision 1.233
> diff -u -p -r1.233 kern_sysctl.c
> --- kern/kern_sysctl.c        23 Mar 2013 21:22:20 -0000      1.233
> +++ kern/kern_sysctl.c        5 Apr 2013 22:18:44 -0000
> @@ -129,8 +129,6 @@ int (*cpu_cpuspeed)(int *);
>  void (*cpu_setperf)(int);
>  int perflevel = 100;
>  
> -int rthreads_enabled = 1;
> -
>  /*
>   * Lock to avoid too many processes vslocking a large amount of memory
>   * at the same time.
> @@ -565,9 +563,6 @@ kern_sysctl(int *name, u_int namelen, vo
>       case KERN_CPTIME2:
>               return (sysctl_cptime2(name + 1, namelen -1, oldp, oldlenp,
>                   newp, newlen));
> -     case KERN_RTHREADS:
> -             return (sysctl_int(oldp, oldlenp, newp, newlen,
> -                 &rthreads_enabled));
>       case KERN_CACHEPCT: {
>               u_int64_t dmapages;
>               int opct, pgs;
> Index: sys/sysctl.h
> ===================================================================
> RCS file: /cvs/src/sys/sys/sysctl.h,v
> retrieving revision 1.131
> diff -u -p -r1.131 sysctl.h
> --- sys/sysctl.h      24 Mar 2013 00:09:31 -0000      1.131
> +++ sys/sysctl.h      5 Apr 2013 22:18:44 -0000
> @@ -174,7 +174,6 @@ struct ctlname {
>  #define      KERN_CPTIME2            71      /* array: cp_time2 */
>  #define      KERN_CACHEPCT           72      /* buffer cache % of physmem */
>  #define      KERN_FILE2              73      /* struct: file entries */
> -#define      KERN_RTHREADS           74      /* kernel rthreads support 
> enabled */
>  #define      KERN_CONSDEV            75      /* dev_t: console terminal 
> device */
>  #define      KERN_NETLIVELOCKS       76      /* int: number of network 
> livelocks */
>  #define      KERN_POOL_DEBUG         77      /* int: enable pool_debug */
> @@ -256,7 +255,7 @@ struct ctlname {
>       { "cp_time2", CTLTYPE_STRUCT }, \
>       { "bufcachepercent", CTLTYPE_INT }, \
>       { "file2", CTLTYPE_STRUCT }, \
> -     { "rthreads", CTLTYPE_INT }, \
> +     { "rthreads", 0 }, \
>       { "consdev", CTLTYPE_STRUCT }, \
>       { "netlivelocks", CTLTYPE_INT }, \
>       { "pool_debug", CTLTYPE_INT }, \
> Index: sys/systm.h
> ===================================================================
> RCS file: /cvs/src/sys/sys/systm.h,v
> retrieving revision 1.96
> diff -u -p -r1.96 systm.h
> --- sys/systm.h       28 Mar 2013 16:41:39 -0000      1.96
> +++ sys/systm.h       5 Apr 2013 22:18:44 -0000
> @@ -110,8 +110,6 @@ struct proc;
>  struct process;
>  #define curproc curcpu()->ci_curproc
>  
> -extern int rthreads_enabled;
> -
>  typedef int  sy_call_t(struct proc *, void *, register_t *);
>  
>  extern struct sysent {               /* system call table */
> 
> 

Reply via email to