[BACK]Return to subr_vmem.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/subr_vmem.c between version 1.65.6.1 and 1.65.6.2

version 1.65.6.1, 2012/02/18 07:35:33 version 1.65.6.2, 2012/03/06 18:26:48
Line 248  static LIST_HEAD(, vmem) vmem_list = LIS
Line 248  static LIST_HEAD(, vmem) vmem_list = LIS
 #define BT_MAXFREE 64  #define BT_MAXFREE 64
 #define STATIC_VMEM_COUNT 5  #define STATIC_VMEM_COUNT 5
 #define STATIC_BT_COUNT 200  #define STATIC_BT_COUNT 200
 #define STATIC_QC_POOL_COUNT (VMEM_QCACHE_IDX_MAX + 1)  /* must be equal or greater then qcache multiplier for kmem_va_arena */
   #define STATIC_QC_POOL_COUNT 8
   
 static struct vmem static_vmems[STATIC_VMEM_COUNT];  static struct vmem static_vmems[STATIC_VMEM_COUNT];
 static int static_vmem_count = STATIC_VMEM_COUNT;  static int static_vmem_count = STATIC_VMEM_COUNT;
Line 474  bt_rembusy(vmem_t *vm, bt_t *bt)
Line 475  bt_rembusy(vmem_t *vm, bt_t *bt)
 {  {
   
         KASSERT(vm->vm_nbusytag > 0);          KASSERT(vm->vm_nbusytag > 0);
           vm->vm_inuse -= bt->bt_size;
         vm->vm_nbusytag--;          vm->vm_nbusytag--;
         LIST_REMOVE(bt, bt_hashlist);          LIST_REMOVE(bt, bt_hashlist);
 }  }
Line 488  bt_insbusy(vmem_t *vm, bt_t *bt)
Line 490  bt_insbusy(vmem_t *vm, bt_t *bt)
         list = bt_hashhead(vm, bt->bt_start);          list = bt_hashhead(vm, bt->bt_start);
         LIST_INSERT_HEAD(list, bt, bt_hashlist);          LIST_INSERT_HEAD(list, bt, bt_hashlist);
         vm->vm_nbusytag++;          vm->vm_nbusytag++;
           vm->vm_inuse += bt->bt_size;
 }  }
   
 /* ---- boundary tag list */  /* ---- boundary tag list */
Line 1265  gotit:
Line 1268  gotit:
         KASSERT(bt->bt_size >= size);          KASSERT(bt->bt_size >= size);
         bt_remfree(vm, bt);          bt_remfree(vm, bt);
         vmem_check(vm);          vmem_check(vm);
         vm->vm_inuse += size;  
         if (bt->bt_start != start) {          if (bt->bt_start != start) {
                 btnew2->bt_type = BT_TYPE_FREE;                  btnew2->bt_type = BT_TYPE_FREE;
                 btnew2->bt_start = bt->bt_start;                  btnew2->bt_start = bt->bt_start;
Line 1357  vmem_xfree(vmem_t *vm, vmem_addr_t addr,
Line 1359  vmem_xfree(vmem_t *vm, vmem_addr_t addr,
         bt_rembusy(vm, bt);          bt_rembusy(vm, bt);
         bt->bt_type = BT_TYPE_FREE;          bt->bt_type = BT_TYPE_FREE;
   
         vm->vm_inuse -= bt->bt_size;  
   
         /* coalesce */          /* coalesce */
         t = CIRCLEQ_NEXT(bt, bt_seglist);          t = CIRCLEQ_NEXT(bt, bt_seglist);
         if (t != NULL && t->bt_type == BT_TYPE_FREE) {          if (t != NULL && t->bt_type == BT_TYPE_FREE) {

Legend:
Removed from v.1.65.6.1  
changed lines
  Added in v.1.65.6.2

CVSweb <webmaster@jp.NetBSD.org>