[BACK]Return to kern_lwp.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/kern_lwp.c between version 1.86 and 1.87

version 1.86, 2007/12/22 01:14:54 version 1.87, 2007/12/26 16:01:36
Line 234  __KERNEL_RCSID(0, "$NetBSD$");
Line 234  __KERNEL_RCSID(0, "$NetBSD$");
   
 struct lwplist  alllwp = LIST_HEAD_INITIALIZER(alllwp);  struct lwplist  alllwp = LIST_HEAD_INITIALIZER(alllwp);
   
 POOL_INIT(lwp_pool, sizeof(struct lwp), MIN_LWP_ALIGNMENT, 0, 0, "lwppl",  
     &pool_allocator_nointr, IPL_NONE);  
 POOL_INIT(lwp_uc_pool, sizeof(ucontext_t), 0, 0, 0, "lwpucpl",  POOL_INIT(lwp_uc_pool, sizeof(ucontext_t), 0, 0, 0, "lwpucpl",
     &pool_allocator_nointr, IPL_NONE);      &pool_allocator_nointr, IPL_NONE);
   
   static pool_cache_t lwp_cache;
 static specificdata_domain_t lwp_specificdata_domain;  static specificdata_domain_t lwp_specificdata_domain;
   
 void  void
Line 248  lwpinit(void)
Line 247  lwpinit(void)
         lwp_specificdata_domain = specificdata_domain_create();          lwp_specificdata_domain = specificdata_domain_create();
         KASSERT(lwp_specificdata_domain != NULL);          KASSERT(lwp_specificdata_domain != NULL);
         lwp_sys_init();          lwp_sys_init();
           lwp_cache = pool_cache_init(sizeof(lwp_t), MIN_LWP_ALIGNMENT, 0, 0,
               "lwppl", NULL, IPL_NONE, NULL, NULL, NULL);
 }  }
   
 /*  /*
Line 556  lwp_create(lwp_t *l1, proc_t *p2, vaddr_
Line 557  lwp_create(lwp_t *l1, proc_t *p2, vaddr_
                         mutex_exit(&p2->p_smutex);                          mutex_exit(&p2->p_smutex);
         }          }
         if (isfree == NULL) {          if (isfree == NULL) {
                 l2 = pool_get(&lwp_pool, PR_WAITOK);                  l2 = pool_cache_get(lwp_cache, PR_WAITOK);
                 memset(l2, 0, sizeof(*l2));                  memset(l2, 0, sizeof(*l2));
                 l2->l_ts = pool_cache_get(turnstile_cache, PR_WAITOK);                  l2->l_ts = pool_cache_get(turnstile_cache, PR_WAITOK);
                 SLIST_INIT(&l2->l_pi_lenders);                  SLIST_INIT(&l2->l_pi_lenders);
Line 927  lwp_free(struct lwp *l, bool recycle, bo
Line 928  lwp_free(struct lwp *l, bool recycle, bo
         KASSERT(SLIST_EMPTY(&l->l_pi_lenders));          KASSERT(SLIST_EMPTY(&l->l_pi_lenders));
         KASSERT(l->l_inheritedprio == -1);          KASSERT(l->l_inheritedprio == -1);
         if (!recycle)          if (!recycle)
                 pool_put(&lwp_pool, l);                  pool_cache_put(lwp_cache, l);
         KERNEL_UNLOCK_ONE(curlwp);      /* XXXSMP */          KERNEL_UNLOCK_ONE(curlwp);      /* XXXSMP */
 }  }
   

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.87

CVSweb <webmaster@jp.NetBSD.org>