Skip to content

Commit

Permalink
Merge pull request #123 from ryuxin/master
Browse files Browse the repository at this point in the history
bug fix cbuf, valloc, bitmap and cvect
  • Loading branch information
gparmer committed Mar 6, 2015
2 parents 72b6c61 + 65bf14d commit a4b5d2c
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/components/implementation/cbuf_mgr/default/cbuf_mgr.c
Expand Up @@ -218,7 +218,7 @@ cbuf_alloc_map(spdid_t spdid, vaddr_t *daddr, void **page, int size)
int ret = 0;

assert(size == (int)round_to_page(size));
p = alloc_page();
p = page_alloc(size/PAGE_SIZE);
if (!p) goto done;
memset(p, 0, size);

Expand All @@ -230,7 +230,7 @@ cbuf_alloc_map(spdid_t spdid, vaddr_t *daddr, void **page, int size)
free:
if (dest) valloc_free(cos_spd_id(), spdid, (void *)dest, 1);
dest = 0;
free_page(p);
page_free(p, size/PAGE_SIZE);
p = 0;
ret = -1;
done:
Expand Down
1 change: 1 addition & 0 deletions src/components/implementation/valloc/simple/valloc.c
Expand Up @@ -84,6 +84,7 @@ static int __valloc_init(spdid_t spdid)
trac->extents[0].map = occ;
page_off = ((unsigned long)hp - (unsigned long)round_to_pgd_page(hp))/PAGE_SIZE;
bitmap_set_contig(&occ->pgd_occupied[0], page_off, (PGD_SIZE/PAGE_SIZE)-page_off, 1);
bitmap_set_contig(&occ->pgd_occupied[0], 0, page_off, 0);

cos_vect_add_id(&spd_vect, trac, spdid);
assert(cos_vect_lookup(&spd_vect, spdid));
Expand Down
2 changes: 1 addition & 1 deletion src/components/include/bitmap.h
Expand Up @@ -220,7 +220,7 @@ bitmap_contiguous_ones(u32_t *x, int off, int extent, int max)
/* uncontiguous? */
else if (i != prev) start = i;
/* found an appropriate extent? */
else if (i-start == extent) return start;
else if (i-start+1 >= extent) return start;
}
return -1;
}
Expand Down
1 change: 1 addition & 0 deletions src/components/include/cvect.h
Expand Up @@ -244,6 +244,7 @@ __cvect_expand_rec(struct cvect_intern *vi, const long id, const int depth)
if (vi[n & CVECT_MASK].c.next == NULL) {
struct cvect_intern *new = CVECT_ALLOC();
if (!new) return -1;
memset(new, 0, PAGE_SIZE);
vi[n & CVECT_MASK].c.next = new;
}
return __cvect_expand_rec(vi[n & CVECT_MASK].c.next, id, depth-1);
Expand Down

0 comments on commit a4b5d2c

Please sign in to comment.