/openbmc/qemu/block/ |
H A D | dirty-bitmap.c | 35 HBitmap *bitmap; /* Dirty bitmap implementation */ member 61 BdrvDirtyBitmap *bitmap; member 74 void bdrv_dirty_bitmap_lock(BdrvDirtyBitmap *bitmap) in bdrv_dirty_bitmap_lock() argument 76 bdrv_dirty_bitmaps_lock(bitmap->bs); in bdrv_dirty_bitmap_lock() 79 void bdrv_dirty_bitmap_unlock(BdrvDirtyBitmap *bitmap) in bdrv_dirty_bitmap_unlock() argument 81 bdrv_dirty_bitmaps_unlock(bitmap->bs); in bdrv_dirty_bitmap_unlock() 105 BdrvDirtyBitmap *bitmap; in bdrv_create_dirty_bitmap() local 125 bitmap = g_new0(BdrvDirtyBitmap, 1); in bdrv_create_dirty_bitmap() 126 bitmap->bs = bs; in bdrv_create_dirty_bitmap() 127 bitmap->bitmap = hbitmap_alloc(bitmap_size, ctz32(granularity)); in bdrv_create_dirty_bitmap() [all …]
|
H A D | qcow2-bitmap.c | 53 #error In the code bitmap table physical size assumed to fit into int 290 uint32_t bitmap_table_size, BdrvDirtyBitmap *bitmap) in load_bitmap_data() argument 295 uint64_t bm_size = bdrv_dirty_bitmap_size(bitmap); in load_bitmap_data() 299 bdrv_dirty_bitmap_serialization_size(bitmap, 0, bm_size)); in load_bitmap_data() 306 limit = bdrv_dirty_bitmap_serialization_coverage(s->cluster_size, bitmap); in load_bitmap_data() 316 bdrv_dirty_bitmap_deserialize_ones(bitmap, offset, count, in load_bitmap_data() 327 bdrv_dirty_bitmap_deserialize_part(bitmap, buf, offset, count, in load_bitmap_data() 333 bdrv_dirty_bitmap_deserialize_finish(bitmap); in load_bitmap_data() 348 BdrvDirtyBitmap *bitmap = NULL; in load_bitmap() local 351 bitmap = bdrv_create_dirty_bitmap(bs, granularity, bm->name, errp); in load_bitmap() [all …]
|
/openbmc/linux/drivers/md/ |
H A D | md-bitmap.c | 35 static inline char *bmname(struct bitmap *bitmap) in bmname() argument 37 return bitmap->mddev ? mdname(bitmap->mddev) : "mdX"; in bmname() 50 static int md_bitmap_checkpage(struct bitmap_counts *bitmap, in md_bitmap_checkpage() argument 52 __releases(bitmap->lock) in md_bitmap_checkpage() 53 __acquires(bitmap->lock) in md_bitmap_checkpage() 57 WARN_ON_ONCE(page >= bitmap->pages); in md_bitmap_checkpage() 58 if (bitmap->bp[page].hijacked) /* it's hijacked, don't try to alloc */ in md_bitmap_checkpage() 61 if (bitmap->bp[page].map) /* page is already allocated, just return */ in md_bitmap_checkpage() 69 spin_unlock_irq(&bitmap->lock); in md_bitmap_checkpage() 84 spin_lock_irq(&bitmap->lock); in md_bitmap_checkpage() [all …]
|
H A D | md-bitmap.h | 180 struct bitmap { struct 247 struct bitmap *md_bitmap_create(struct mddev *mddev, int slot); 252 void md_bitmap_print_sb(struct bitmap *bitmap); 253 void md_bitmap_update_sb(struct bitmap *bitmap); 254 int md_bitmap_get_stats(struct bitmap *bitmap, struct md_bitmap_stats *stats); 256 int md_bitmap_setallbits(struct bitmap *bitmap); 257 void md_bitmap_write_all(struct bitmap *bitmap); 259 void md_bitmap_dirty_bits(struct bitmap *bitmap, unsigned long s, unsigned long e); 262 int md_bitmap_startwrite(struct bitmap *bitmap, sector_t offset, 264 void md_bitmap_endwrite(struct bitmap *bitmap, sector_t offset, [all …]
|
/openbmc/linux/drivers/vfio/ |
H A D | iova_bitmap.c | 103 u8 __user *bitmap; member 127 static unsigned long iova_bitmap_offset_to_index(struct iova_bitmap *bitmap, in iova_bitmap_offset_to_index() argument 130 unsigned long pgsize = 1UL << bitmap->mapped.pgshift; in iova_bitmap_offset_to_index() 132 return iova / (BITS_PER_TYPE(*bitmap->bitmap) * pgsize); in iova_bitmap_offset_to_index() 138 static unsigned long iova_bitmap_index_to_offset(struct iova_bitmap *bitmap, in iova_bitmap_index_to_offset() argument 141 unsigned long pgshift = bitmap->mapped.pgshift; in iova_bitmap_index_to_offset() 143 return (index * BITS_PER_TYPE(*bitmap->bitmap)) << pgshift; in iova_bitmap_index_to_offset() 149 static unsigned long iova_bitmap_mapped_iova(struct iova_bitmap *bitmap) in iova_bitmap_mapped_iova() argument 151 unsigned long skip = bitmap->mapped_base_index; in iova_bitmap_mapped_iova() 153 return bitmap->iova + iova_bitmap_index_to_offset(bitmap, skip); in iova_bitmap_mapped_iova() [all …]
|
/openbmc/qemu/include/block/ |
H A D | dirty-bitmap.h | 25 int bdrv_dirty_bitmap_create_successor(BdrvDirtyBitmap *bitmap, 27 BdrvDirtyBitmap *bdrv_dirty_bitmap_abdicate(BdrvDirtyBitmap *bitmap, 29 BdrvDirtyBitmap *bdrv_reclaim_dirty_bitmap(BdrvDirtyBitmap *bitmap, 31 void bdrv_dirty_bitmap_enable_successor(BdrvDirtyBitmap *bitmap); 34 int bdrv_dirty_bitmap_check(const BdrvDirtyBitmap *bitmap, uint32_t flags, 36 void bdrv_release_dirty_bitmap(BdrvDirtyBitmap *bitmap); 46 void bdrv_disable_dirty_bitmap(BdrvDirtyBitmap *bitmap); 47 void bdrv_enable_dirty_bitmap(BdrvDirtyBitmap *bitmap); 48 void bdrv_enable_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap); 51 uint32_t bdrv_dirty_bitmap_granularity(const BdrvDirtyBitmap *bitmap); [all …]
|
/openbmc/linux/fs/xfs/scrub/ |
H A D | bitmap.h | 13 void xbitmap_init(struct xbitmap *bitmap); 14 void xbitmap_destroy(struct xbitmap *bitmap); 16 int xbitmap_clear(struct xbitmap *bitmap, uint64_t start, uint64_t len); 17 int xbitmap_set(struct xbitmap *bitmap, uint64_t start, uint64_t len); 18 int xbitmap_disunion(struct xbitmap *bitmap, struct xbitmap *sub); 19 uint64_t xbitmap_hweight(struct xbitmap *bitmap); 29 int xbitmap_walk(struct xbitmap *bitmap, xbitmap_walk_fn fn, 32 bool xbitmap_empty(struct xbitmap *bitmap); 33 bool xbitmap_test(struct xbitmap *bitmap, uint64_t start, uint64_t *len); 41 static inline void xagb_bitmap_init(struct xagb_bitmap *bitmap) in xagb_bitmap_init() argument [all …]
|
H A D | bitmap.c | 59 #define for_each_xbitmap_extent(bn, bitmap) \ in INTERVAL_TREE_DEFINE() argument 60 for ((bn) = rb_entry_safe(rb_first(&(bitmap)->xb_root.rb_root), \ in INTERVAL_TREE_DEFINE() 69 struct xbitmap *bitmap, 77 while ((bn = xbitmap_tree_iter_first(&bitmap->xb_root, start, last))) { 82 xbitmap_tree_remove(bn, &bitmap->xb_root); 84 xbitmap_tree_insert(bn, &bitmap->xb_root); 93 xbitmap_tree_insert(new_bn, &bitmap->xb_root); 96 xbitmap_tree_remove(bn, &bitmap->xb_root); 98 xbitmap_tree_insert(bn, &bitmap->xb_root); 101 xbitmap_tree_remove(bn, &bitmap->xb_root); [all …]
|
/openbmc/linux/lib/ |
H A D | find_bit_benchmark.c | 29 static DECLARE_BITMAP(bitmap, BITMAP_LEN) __initdata; 36 static int __init test_find_first_bit(void *bitmap, unsigned long len) in test_find_first_bit() argument 43 i = find_first_bit(bitmap, len); in test_find_first_bit() 44 __clear_bit(i, bitmap); in test_find_first_bit() 52 static int __init test_find_first_and_bit(void *bitmap, const void *bitmap2, unsigned long len) in test_find_first_and_bit() argument 58 bitmap_copy(cp, bitmap, BITMAP_LEN); in test_find_first_and_bit() 71 static int __init test_find_next_bit(const void *bitmap, unsigned long len) in test_find_next_bit() argument 78 i = find_next_bit(bitmap, BITMAP_LEN, i) + 1; in test_find_next_bit() 85 static int __init test_find_next_zero_bit(const void *bitmap, unsigned long len) in test_find_next_zero_bit() argument 92 i = find_next_zero_bit(bitmap, len, i) + 1; in test_find_next_zero_bit() [all …]
|
H A D | idr.c | 386 struct ida_bitmap *bitmap, *alloc = NULL; in ida_alloc_range() local 397 bitmap = xas_find_marked(&xas, max / IDA_BITMAP_BITS, XA_FREE_MARK); in ida_alloc_range() 403 if (xa_is_value(bitmap)) { in ida_alloc_range() 404 unsigned long tmp = xa_to_value(bitmap); in ida_alloc_range() 416 bitmap = alloc; in ida_alloc_range() 417 if (!bitmap) in ida_alloc_range() 418 bitmap = kzalloc(sizeof(*bitmap), GFP_NOWAIT); in ida_alloc_range() 419 if (!bitmap) in ida_alloc_range() 421 bitmap->bitmap[0] = tmp; in ida_alloc_range() 422 xas_store(&xas, bitmap); in ida_alloc_range() [all …]
|
H A D | memweight.c | 15 const unsigned char *bitmap = ptr; in memweight() local 17 for (; bytes > 0 && ((unsigned long)bitmap) % sizeof(long); in memweight() 18 bytes--, bitmap++) in memweight() 19 ret += hweight8(*bitmap); in memweight() 24 ret += bitmap_weight((unsigned long *)bitmap, in memweight() 27 bitmap += longs * sizeof(long); in memweight() 34 for (; bytes > 0; bytes--, bitmap++) in memweight() 35 ret += hweight8(*bitmap); in memweight()
|
H A D | bitmap.c | 349 unsigned int __bitmap_weight(const unsigned long *bitmap, unsigned int bits) in __bitmap_weight() argument 351 return BITMAP_WEIGHT(bitmap[idx], bits); in __bitmap_weight() 653 static void bitmap_set_region(const struct region *r, unsigned long *bitmap) in bitmap_set_region() argument 658 bitmap_set(bitmap, start, min(r->end - start + 1, r->off)); in bitmap_set_region() 911 u32 *bitmap = (u32 *)maskp; in bitmap_parse() local 924 end = bitmap_get_x32_reverse(start, end, &bitmap[chunk ^ 1]); in bitmap_parse() 926 end = bitmap_get_x32_reverse(start, end, &bitmap[chunk]); in bitmap_parse() 1247 static int __reg_op(unsigned long *bitmap, unsigned int pos, int order, int reg_op) in __reg_op() argument 1279 if (bitmap[index + i] & mask) in __reg_op() 1287 bitmap[index + i] |= mask; in __reg_op() [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx4/ |
H A D | alloc.c | 44 u32 mlx4_bitmap_alloc(struct mlx4_bitmap *bitmap) in mlx4_bitmap_alloc() argument 48 spin_lock(&bitmap->lock); in mlx4_bitmap_alloc() 50 obj = find_next_zero_bit(bitmap->table, bitmap->max, bitmap->last); in mlx4_bitmap_alloc() 51 if (obj >= bitmap->max) { in mlx4_bitmap_alloc() 52 bitmap->top = (bitmap->top + bitmap->max + bitmap->reserved_top) in mlx4_bitmap_alloc() 53 & bitmap->mask; in mlx4_bitmap_alloc() 54 obj = find_first_zero_bit(bitmap->table, bitmap->max); in mlx4_bitmap_alloc() 57 if (obj < bitmap->max) { in mlx4_bitmap_alloc() 58 set_bit(obj, bitmap->table); in mlx4_bitmap_alloc() 59 bitmap->last = (obj + 1); in mlx4_bitmap_alloc() [all …]
|
/openbmc/qemu/block/monitor/ |
H A D | bitmap-qmp-cmds.c | 59 BdrvDirtyBitmap *bitmap; in block_dirty_bitmap_lookup() local 77 bitmap = bdrv_find_dirty_bitmap(bs, name); in block_dirty_bitmap_lookup() 78 if (!bitmap) { in block_dirty_bitmap_lookup() 87 return bitmap; in block_dirty_bitmap_lookup() 97 BdrvDirtyBitmap *bitmap; in qmp_block_dirty_bitmap_add() local 134 bitmap = bdrv_create_dirty_bitmap(bs, granularity, name, errp); in qmp_block_dirty_bitmap_add() 135 if (bitmap == NULL) { in qmp_block_dirty_bitmap_add() 140 bdrv_disable_dirty_bitmap(bitmap); in qmp_block_dirty_bitmap_add() 143 bdrv_dirty_bitmap_set_persistence(bitmap, persistent); in qmp_block_dirty_bitmap_add() 152 BdrvDirtyBitmap *bitmap; in block_dirty_bitmap_remove() local [all …]
|
/openbmc/linux/fs/afs/ |
H A D | dir_edit.c | 25 u64 bitmap; in afs_find_contig_bits() local 29 bitmap = (u64)block->hdr.bitmap[0] << 0 * 8; in afs_find_contig_bits() 30 bitmap |= (u64)block->hdr.bitmap[1] << 1 * 8; in afs_find_contig_bits() 31 bitmap |= (u64)block->hdr.bitmap[2] << 2 * 8; in afs_find_contig_bits() 32 bitmap |= (u64)block->hdr.bitmap[3] << 3 * 8; in afs_find_contig_bits() 33 bitmap |= (u64)block->hdr.bitmap[4] << 4 * 8; in afs_find_contig_bits() 34 bitmap |= (u64)block->hdr.bitmap[5] << 5 * 8; in afs_find_contig_bits() 35 bitmap |= (u64)block->hdr.bitmap[6] << 6 * 8; in afs_find_contig_bits() 36 bitmap |= (u64)block->hdr.bitmap[7] << 7 * 8; in afs_find_contig_bits() 37 bitmap >>= 1; /* The first entry is metadata */ in afs_find_contig_bits() [all …]
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_ovec.c | 31 unsigned long *bitmap; member 40 VMSTATE_BITMAP(bitmap, SpaprOptionVector, 1, bitmap_size), 50 ov->bitmap = bitmap_new(OV_MAXBITS); in spapr_ovec_new() 63 bitmap_copy(ov->bitmap, ov_orig->bitmap, OV_MAXBITS); in spapr_ovec_clone() 76 bitmap_and(ov->bitmap, ov1->bitmap, ov2->bitmap, OV_MAXBITS); in spapr_ovec_intersect() 88 bitmap_andnot(tmp, ov1->bitmap, ov2->bitmap, OV_MAXBITS); in spapr_ovec_subset() 99 g_free(ov->bitmap); in spapr_ovec_cleanup() 109 set_bit(bitnr, ov->bitmap); in spapr_ovec_set() 117 clear_bit(bitnr, ov->bitmap); in spapr_ovec_clear() 125 return test_bit(bitnr, ov->bitmap) ? true : false; in spapr_ovec_test() [all …]
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 242.out | 2 {"execute": "block-dirty-bitmap-add", "arguments": {"disabled": false, "granularity": 16384, "name"… 21 No bitmap in JSON format output 24 {"execute": "block-dirty-bitmap-add", "arguments": {"disabled": true, "granularity": 32768, "name":… 42 name: bitmap-1 53 "name": "bitmap-1" 58 {"execute": "block-dirty-bitmap-add", "arguments": {"disabled": false, "granularity": 65536, "name"… 76 name: bitmap-1 81 name: bitmap-2 92 "name": "bitmap-1" 99 "name": "bitmap-2" [all …]
|
H A D | 124 | 191 def make_reference_backup(self, bitmap=None): argument 192 if bitmap is None: 193 bitmap = self.bitmaps[-1] 194 _, reference = bitmap.last_target() 195 res = self.do_qmp_backup(job_id=bitmap.drive['id'], 196 device=bitmap.drive['id'], sync='full', 197 format=bitmap.drive['fmt'], target=reference) 202 bitmap = Bitmap(name, drive) 203 self.bitmaps.append(bitmap) 205 name=bitmap.name, **kwargs) [all …]
|
H A D | 246.out | 8 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 32768, "name": "Small", "node": … 10 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "Medium", "node": "drive0", "persistent… 12 {"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 131072, "name": "Large", "node":… 14 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "Transient", "node": "drive0", "persist… 88 --- Adding new bitmap, growing image, and adding 2nd new bitmap --- 89 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "New", "node": "drive0", "persistent": … 93 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "Newtwo", "node": "drive0", "persistent… 191 --- Adding "NewB" bitmap, removing "New" bitmap --- 192 {"execute": "block-dirty-bitmap-add", "arguments": {"name": "NewB", "node": "drive0", "persistent":… 194 {"execute": "block-dirty-bitmap-remove", "arguments": {"name": "New", "node": "drive0"}} [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H A D | dr_buddy.c | 19 buddy->bitmap = kcalloc(buddy->max_order + 1, in mlx5dr_buddy_init() 20 sizeof(*buddy->bitmap), in mlx5dr_buddy_init() 26 if (!buddy->bitmap || !buddy->num_free) in mlx5dr_buddy_init() 34 buddy->bitmap[i] = bitmap_zalloc(size, GFP_KERNEL); in mlx5dr_buddy_init() 35 if (!buddy->bitmap[i]) in mlx5dr_buddy_init() 43 bitmap_set(buddy->bitmap[buddy->max_order], 0, 1); in mlx5dr_buddy_init() 51 bitmap_free(buddy->bitmap[i]); in mlx5dr_buddy_init() 55 kfree(buddy->bitmap); in mlx5dr_buddy_init() 66 bitmap_free(buddy->bitmap[i]); in mlx5dr_buddy_cleanup() 69 kfree(buddy->bitmap); in mlx5dr_buddy_cleanup() [all …]
|
/openbmc/linux/arch/powerpc/sysdev/ |
H A D | msi_bitmap.c | 22 offset = bitmap_find_next_zero_area(bmp->bitmap, bmp->irq_count, 0, in msi_bitmap_alloc_hwirqs() 27 bitmap_set(bmp->bitmap, offset, num); in msi_bitmap_alloc_hwirqs() 48 bitmap_clear(bmp->bitmap, offset, num); in msi_bitmap_free_hwirqs() 60 bitmap_allocate_region(bmp->bitmap, hwirq, 0); in msi_bitmap_reserve_hwirq() 96 bitmap_allocate_region(bmp->bitmap, 0, get_count_order(bmp->irq_count)); in msi_bitmap_reserve_dt_hwirqs() 104 bitmap_release_region(bmp->bitmap, *p + j, 0); in msi_bitmap_reserve_dt_hwirqs() 125 bmp->bitmap = kzalloc(size, GFP_KERNEL); in msi_bitmap_alloc() 127 bmp->bitmap = memblock_alloc(size, SMP_CACHE_BYTES); in msi_bitmap_alloc() 128 if (!bmp->bitmap) in msi_bitmap_alloc() 132 kmemleak_not_leak(bmp->bitmap); in msi_bitmap_alloc() [all …]
|
/openbmc/qemu/migration/ |
H A D | block-dirty-bitmap.c | 115 BdrvDirtyBitmap *bitmap; member 140 BdrvDirtyBitmap *bitmap; member 152 BdrvDirtyBitmap *bitmap; member 384 BdrvDirtyBitmap *bitmap = dbms->bitmap; in send_bitmap_header() local 393 if (bitmap != s->prev_bitmap) { in send_bitmap_header() 394 s->prev_bitmap = bitmap; in send_bitmap_header() 413 qemu_put_be32(f, bdrv_dirty_bitmap_granularity(dbms->bitmap)); in send_bitmap_start() 431 dbms->bitmap, start_sector << BDRV_SECTOR_BITS, in send_bitmap_bits() 438 dbms->bitmap, buf, start_sector << BDRV_SECTOR_BITS, in send_bitmap_bits() 474 bdrv_dirty_bitmap_set_busy(dbms->bitmap, false); in dirty_bitmap_do_save_cleanup() [all …]
|
/openbmc/qemu/tests/qemu-iotests/tests/ |
H A D | qemu-img-bitmaps | 62 $QEMU_IMG bitmap --add -f $IMGFMT "$TEST_IMG.base" b0 70 $QEMU_IMG bitmap --add -g 512k -f $IMGFMT "$TEST_IMG" b1 71 $QEMU_IMG bitmap --add --disable -f $IMGFMT "$TEST_IMG" b2 73 $QEMU_IMG bitmap --clear -f $IMGFMT "$TEST_IMG" b1 75 $QEMU_IMG bitmap --disable -f $IMGFMT "$TEST_IMG" b1 76 $QEMU_IMG bitmap --enable -f $IMGFMT "$TEST_IMG" b2 97 $QEMU_IMG bitmap --add --disable -f $IMGFMT "$TEST_IMG" b0 98 $QEMU_IMG bitmap --add --merge b0 -b "$TEST_IMG.base" -F $IMGFMT \ 100 $QEMU_IMG bitmap --merge tmp -f $IMGFMT "$TEST_IMG" b0 101 $QEMU_IMG bitmap --remove --image-opts \ [all …]
|
H A D | qemu-img-close-errors.out | 8 qemu-img bitmap --add exit code: 0 9 …t bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'good-bitmap' to file: N… 11 …t bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'good-bitmap' to file: N… 12 qemu-img bitmap --merge exit code: 1 17 … bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'stale-bitmap-7' to file:… 18 … bitmaps during inactivation of node 'NODE_NAME': Failed to write bitmap 'stale-bitmap-7' to file:… 21 qemu-img bitmap --add exit code: 0 22 qemu-img bitmap --merge exit code: 0
|
/openbmc/linux/drivers/s390/cio/ |
H A D | idset.c | 16 unsigned long bitmap[]; member 33 memset(set->bitmap, 0, idset_bitmap_size(num_ssid, num_id)); in idset_new() 45 memset(set->bitmap, 0xff, in idset_fill() 51 set_bit(ssid * set->num_id + id, set->bitmap); in idset_add() 56 clear_bit(ssid * set->num_id + id, set->bitmap); in idset_del() 61 return test_bit(ssid * set->num_id + id, set->bitmap); in idset_contains() 84 bitmap_clear(set->bitmap, pos, set->num_id - schid.sch_no); in idset_sch_del_subseq() 94 return bitmap_empty(set->bitmap, set->num_ssid * set->num_id); in idset_is_empty() 101 bitmap_or(to->bitmap, to->bitmap, from->bitmap, len); in idset_add_set()
|