Make iallocb just an _allocb(x, 0) [1/2]
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 25 Mar 2016 16:01:15 +0000 (12:01 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 31 Mar 2016 20:53:42 +0000 (16:53 -0400)
Part 1 of making block allocation controlled by a flag, like all other
memory allocation.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/ns.h
kern/src/ns/allocb.c
kern/src/ns/qio.c

index ba76b28..c5e341c 100644 (file)
@@ -356,7 +356,6 @@ enum {
 #define NS_SHIFT_MAX 6
 
 enum {
-       BINTR = (1 << 0),
        BFREE = (1 << 1),
        Bipck = (1 << NS_IPCK_SHIFT),   /* ip checksum */
        Budpck = (1 << NS_UDPCK_SHIFT), /* udp checksum */
@@ -749,7 +748,6 @@ void getcolor(uint32_t, uint32_t *, uint32_t *, uint32_t *);
 uint32_t getmalloctag(void *);
 uint32_t getrealloctag(void *);
 struct block *iallocb(int);
-void iallocsummary(void);
 void printblock(struct block *b);
 void ilock(spinlock_t *);
 int iprint(char *unused_char_p_t, ...);
index 9a568f3..30bfb7c 100644 (file)
@@ -48,8 +48,6 @@ enum {
        BLOCKALIGN = 32,        /* was the old BY2V in inferno, which was 8 */
 };
 
-static atomic_t ialloc_bytes = 0;
-
 /*
  *  allocate blocks (round data base address to 64 bit boundary).
  *  if mallocz gives us more than we asked for, leave room at the front
@@ -175,27 +173,7 @@ int block_append_extra(struct block *b, int len, int mem_flags)
  */
 struct block *iallocb(int size)
 {
-       struct block *b;
-
-#if 0  /* conf is some inferno global config */
-       if (atomic_read(&ialloc_bytes) > conf.ialloc) {
-               //printk("iallocb: limited %lu/%lu\n", atomic_read(&ialloc_bytes),
-               //       conf.ialloc);
-               return NULL;
-       }
-#endif
-
-       b = _allocb(size, 0);   /* no KMALLOC_WAIT */
-       if (b == NULL) {
-               //printk("iallocb: no memory %lu/%lu\n", atomic_read(&ialloc_bytes),
-               //       conf.ialloc);
-               return NULL;
-       }
-       b->flag = BINTR;
-
-       atomic_add(&ialloc_bytes, b->lim - b->base);
-
-       return b;
+       return _allocb(size, 0);
 }
 
 void free_block_extra(struct block *b)
@@ -231,10 +209,6 @@ void freeb(struct block *b)
                b->free(b);
                return;
        }
-       if (b->flag & BINTR) {
-               /* subtracting the size of b */
-               atomic_add(&ialloc_bytes, -(b->lim - b->base));
-       }
 
        /* poison the block in case someone is still holding onto it */
        b->next = dead;
@@ -284,11 +258,6 @@ void checkb(struct block *b, char *msg)
 
 }
 
-void iallocsummary(void)
-{
-       printd("ialloc %lu/%lu\n", atomic_read(&ialloc_bytes), 0 /*conf.ialloc */ );
-}
-
 void printblock(struct block *b)
 {
        unsigned char *c;
index 0c0db2e..8a94794 100644 (file)
@@ -108,7 +108,6 @@ static void qwake_cb(struct queue *q, int filter)
 void ixsummary(void)
 {
        debugging ^= 1;
-       iallocsummary();
        printd("pad %lu, concat %lu, pullup %lu, copy %lu\n",
                   padblockcnt, concatblockcnt, pullupblockcnt, copyblockcnt);
        printd("consume %lu, produce %lu, qcopy %lu\n",