/linux/drivers/md/ |
H A D | md-bitmap.c | 3 * bitmap.c two-level bitmap (C) Peter T. Breuer (ptb@ot.uc3m.es) 2003 5 * bitmap_create - sets up the bitmap structure 6 * bitmap_destroy - destroys the bitmap structure 9 * - added disk storage for bitmap 10 * - changes to allow various bitmap chunk sizes 34 #include "md-bitmap.h" 38 /* version 4 insists the bitmap is in little-endian order 47 * in-memory bitmap: 135 * bitmap structure 161 struct bitmap { global() struct 163 bitmap_countsbitmap global() argument 176 mddevbitmap global() argument 181 bitmap_storagebitmap global() argument 184 need_syncbitmap global() argument 206 behind_writes_usedbitmap global() argument 211 daemon_lastrunbitmap global() argument 216 last_end_syncbitmap global() argument 227 cluster_slotbitmap global() argument 230 bmname(struct bitmap * bitmap) bmname() argument 235 __bitmap_enabled(struct bitmap * bitmap) __bitmap_enabled() argument 243 struct bitmap *bitmap = mddev->bitmap; bitmap_enabled() local 261 md_bitmap_checkpage(struct bitmap_counts * bitmap,unsigned long page,int create,int no_hijack) md_bitmap_checkpage() argument 323 md_bitmap_checkfree(struct bitmap_counts * bitmap,unsigned long page) md_bitmap_checkfree() argument 435 __write_sb_page(struct md_rdev * rdev,struct bitmap * bitmap,unsigned long pg_index,struct page * page) __write_sb_page() argument 491 write_sb_page(struct bitmap * bitmap,unsigned long pg_index,struct page * page,bool wait) write_sb_page() argument 511 write_file_page(struct bitmap * bitmap,struct page * page,int wait) write_file_page() argument 530 struct bitmap *bitmap = bh->b_private; end_bitmap_write() local 563 read_file_page(struct file * file,unsigned long index,struct bitmap * bitmap,unsigned long count,struct page * page) read_file_page() argument 625 write_file_page(struct bitmap * bitmap,struct page * page,int wait) write_file_page() argument 629 read_file_page(struct file * file,unsigned long index,struct bitmap * bitmap,unsigned long count,struct page * page) read_file_page() argument 646 filemap_write_page(struct bitmap * bitmap,unsigned long pg_index,bool wait) filemap_write_page() argument 668 md_bitmap_wait_writes(struct bitmap * bitmap) md_bitmap_wait_writes() argument 689 struct bitmap *bitmap = data; bitmap_update_sb() local 726 bitmap_print_sb(struct bitmap * bitmap) bitmap_print_sb() argument 765 md_bitmap_new_disk_sb(struct bitmap * bitmap) md_bitmap_new_disk_sb() argument 824 md_bitmap_read_sb(struct bitmap * bitmap) md_bitmap_read_sb() argument 1103 md_bitmap_file_kick(struct bitmap * bitmap) md_bitmap_file_kick() argument 1125 set_page_attr(struct bitmap * bitmap,int pnum,enum bitmap_page_attr attr) set_page_attr() argument 1131 clear_page_attr(struct bitmap * bitmap,int pnum,enum bitmap_page_attr attr) clear_page_attr() argument 1137 test_page_attr(struct bitmap * bitmap,int pnum,enum bitmap_page_attr attr) test_page_attr() argument 1143 test_and_clear_page_attr(struct bitmap * bitmap,int pnum,enum bitmap_page_attr attr) test_and_clear_page_attr() argument 1156 md_bitmap_file_set_bit(struct bitmap * bitmap,sector_t block) md_bitmap_file_set_bit() argument 1187 md_bitmap_file_clear_bit(struct bitmap * bitmap,sector_t block) md_bitmap_file_clear_bit() argument 1217 md_bitmap_file_test_bit(struct bitmap * bitmap,sector_t block) md_bitmap_file_test_bit() argument 1241 __bitmap_unplug(struct bitmap * bitmap) __bitmap_unplug() argument 1276 struct bitmap *bitmap; global() member 1289 bitmap_unplug_async(struct bitmap * bitmap) bitmap_unplug_async() argument 1305 struct bitmap *bitmap = mddev->bitmap; bitmap_unplug() local 1329 md_bitmap_init_from_disk(struct bitmap * bitmap,sector_t start) md_bitmap_init_from_disk() argument 1455 struct bitmap *bitmap = mddev->bitmap; bitmap_write_all() local 1469 md_bitmap_count_page(struct bitmap_counts * bitmap,sector_t offset,int inc) md_bitmap_count_page() argument 1478 md_bitmap_set_pending(struct bitmap_counts * bitmap,sector_t offset) md_bitmap_set_pending() argument 1516 struct bitmap *bitmap; bitmap_daemon_work() local 1635 md_bitmap_get_counter(struct bitmap_counts * bitmap,sector_t offset,sector_t * blocks,int create) md_bitmap_get_counter() argument 1688 struct bitmap *bitmap = mddev->bitmap; bitmap_start_write() local 1742 struct bitmap *bitmap = mddev->bitmap; bitmap_end_write() local 1787 __bitmap_start_sync(struct bitmap * bitmap,sector_t offset,sector_t * blocks,bool degraded) __bitmap_start_sync() argument 1842 __bitmap_end_sync(struct bitmap * bitmap,sector_t offset,sector_t * blocks,bool aborted) __bitmap_end_sync() argument 1887 struct bitmap *bitmap = mddev->bitmap; bitmap_close_sync() local 1903 struct bitmap *bitmap = mddev->bitmap; bitmap_cond_end_sync() local 1933 struct bitmap *bitmap = mddev->bitmap; bitmap_sync_with_cluster() local 1949 md_bitmap_set_memory_bits(struct bitmap * bitmap,sector_t offset,int needed) md_bitmap_set_memory_bits() argument 1980 struct bitmap *bitmap = mddev->bitmap; bitmap_dirty_bits() local 2001 struct bitmap *bitmap = mddev->bitmap; bitmap_flush() local 2026 struct bitmap *bitmap = data; md_bitmap_free() local 2060 struct bitmap *bitmap = mddev->bitmap; bitmap_start_behind_write() local 2077 struct bitmap *bitmap = mddev->bitmap; bitmap_end_behind_write() local 2091 struct bitmap *bitmap = mddev->bitmap; bitmap_wait_behind_writes() local 2105 struct bitmap *bitmap = mddev->bitmap; bitmap_destroy() local 2131 struct bitmap *bitmap; __bitmap_create() local 2219 struct bitmap *bitmap = __bitmap_create(mddev, -1); bitmap_create() local 2233 struct bitmap *bitmap = mddev->bitmap; bitmap_load() local 2289 struct bitmap *bitmap; bitmap_get_from_slot() local 2315 struct bitmap *bitmap; bitmap_copy_from_slot() local 2355 struct bitmap *bitmap = data; bitmap_set_pages() local 2364 struct bitmap *bitmap = data; bitmap_get_stats() local 2389 __bitmap_resize(struct bitmap * bitmap,sector_t blocks,int chunksize,bool init) __bitmap_resize() argument 2599 struct bitmap *bitmap = mddev->bitmap; bitmap_resize() local 2724 struct bitmap *bitmap; space_store() local 2913 struct bitmap *bitmap; can_clear_show() local 2928 struct bitmap *bitmap = mddev->bitmap; can_clear_store() local 2955 struct bitmap *bitmap; behind_writes_used_show() local 2971 struct bitmap *bitmap = mddev->bitmap; behind_writes_used_reset() local [all...] |
/linux/drivers/iommu/iommufd/ |
H A D | iova_bitmap.c | 14 * struct iova_bitmap_map - A bitmap representing an IOVA range 16 * Main data structure for tracking mapped user pages of bitmap data. 24 * The user does not need to exact location of the bits in the bitmap. 26 * records the IOVA *range* in the bitmap by setting the corresponding 29 * The bitmap is an array of u64 whereas each bit represents an IOVA of 30 * range of (1 << pgshift). Thus formula for the bitmap data to be set is: 50 /* pinned pages representing the bitmap data */ 55 * struct iova_bitmap - The IOVA bitmap object 57 * Main data structure for iterating over the bitmap data. 60 * It uses a windowing scheme and pins the bitmap i 106 u8 __user *bitmap; global() member 130 iova_bitmap_offset_to_index(struct iova_bitmap * bitmap,unsigned long iova) iova_bitmap_offset_to_index() argument 141 iova_bitmap_index_to_offset(struct iova_bitmap * bitmap,unsigned long index) iova_bitmap_index_to_offset() argument 152 iova_bitmap_mapped_iova(struct iova_bitmap * bitmap) iova_bitmap_mapped_iova() argument 166 iova_bitmap_get(struct iova_bitmap * bitmap) iova_bitmap_get() argument 220 iova_bitmap_put(struct iova_bitmap * bitmap) iova_bitmap_put() argument 248 struct iova_bitmap *bitmap; iova_bitmap_alloc() local 284 iova_bitmap_free(struct iova_bitmap * bitmap) iova_bitmap_free() argument 303 iova_bitmap_mapped_remaining(struct iova_bitmap * bitmap) iova_bitmap_mapped_remaining() argument 319 iova_bitmap_mapped_length(struct iova_bitmap * bitmap) iova_bitmap_mapped_length() argument 356 iova_bitmap_advance_to(struct iova_bitmap * bitmap,unsigned long iova) iova_bitmap_advance_to() argument 385 iova_bitmap_for_each(struct iova_bitmap * bitmap,void * opaque,iova_bitmap_fn_t fn) iova_bitmap_for_each() argument 402 iova_bitmap_set(struct iova_bitmap * bitmap,unsigned long iova,size_t length) iova_bitmap_set() argument [all...] |
/linux/fs/xfs/scrub/ |
H A D | bitmap.c | 15 #include "scrub/bitmap.h" 19 /* u64 bitmap */ 61 /* Iterate each interval of a bitmap. Do not change the bitmap. */ in INTERVAL_TREE_DEFINE() 62 #define for_each_xbitmap64_extent(bn, bitmap) \ in INTERVAL_TREE_DEFINE() argument 63 for ((bn) = rb_entry_safe(rb_first(&(bitmap)->xb_root.rb_root), \ in INTERVAL_TREE_DEFINE() 69 /* Clear a range of this bitmap. */ 72 struct xbitmap64 *bitmap, 80 while ((bn = xbitmap64_tree_iter_first(&bitmap->xb_root, start, last))) { 85 xbitmap64_tree_remove(bn, &bitmap 121 xbitmap64_set(struct xbitmap64 * bitmap,uint64_t start,uint64_t len) xbitmap64_set() argument 181 xbitmap64_destroy(struct xbitmap64 * bitmap) xbitmap64_destroy() argument 194 xbitmap64_init(struct xbitmap64 * bitmap) xbitmap64_init() argument 215 xbitmap64_disunion(struct xbitmap64 * bitmap,struct xbitmap64 * sub) xbitmap64_disunion() argument 237 xbitmap64_hweight(struct xbitmap64 * bitmap) xbitmap64_hweight() argument 251 xbitmap64_walk(struct xbitmap64 * bitmap,xbitmap64_walk_fn fn,void * priv) xbitmap64_walk() argument 270 xbitmap64_empty(struct xbitmap64 * bitmap) xbitmap64_empty() argument 278 xbitmap64_test(struct xbitmap64 * bitmap,uint64_t start,uint64_t * len) xbitmap64_test() argument 337 for_each_xbitmap32_extent(bn,bitmap) INTERVAL_TREE_DEFINE() argument 396 xbitmap32_set(struct xbitmap32 * bitmap,uint32_t start,uint32_t len) xbitmap32_set() argument 456 xbitmap32_destroy(struct xbitmap32 * bitmap) xbitmap32_destroy() argument 469 xbitmap32_init(struct xbitmap32 * bitmap) xbitmap32_init() argument 490 xbitmap32_disunion(struct xbitmap32 * bitmap,struct xbitmap32 * sub) xbitmap32_disunion() argument 512 xbitmap32_hweight(struct xbitmap32 * bitmap) xbitmap32_hweight() argument 526 xbitmap32_walk(struct xbitmap32 * bitmap,xbitmap32_walk_fn fn,void * priv) xbitmap32_walk() argument 545 xbitmap32_empty(struct xbitmap32 * bitmap) xbitmap32_empty() argument 553 xbitmap32_test(struct xbitmap32 * bitmap,uint32_t start,uint32_t * len) xbitmap32_test() argument 575 xbitmap32_count_set_regions(struct xbitmap32 * bitmap) xbitmap32_count_set_regions() argument [all...] |
H A D | agb_bitmap.h | 15 static inline void xagb_bitmap_init(struct xagb_bitmap *bitmap) in xagb_bitmap_init() argument 17 xbitmap32_init(&bitmap->agbitmap); in xagb_bitmap_init() 20 static inline void xagb_bitmap_destroy(struct xagb_bitmap *bitmap) in xagb_bitmap_destroy() argument 22 xbitmap32_destroy(&bitmap->agbitmap); in xagb_bitmap_destroy() 25 static inline int xagb_bitmap_clear(struct xagb_bitmap *bitmap, in xagb_bitmap_clear() argument 28 return xbitmap32_clear(&bitmap->agbitmap, start, len); in xagb_bitmap_clear() 30 static inline int xagb_bitmap_set(struct xagb_bitmap *bitmap, in xagb_bitmap_set() argument 33 return xbitmap32_set(&bitmap->agbitmap, start, len); in xagb_bitmap_set() 36 static inline bool xagb_bitmap_test(struct xagb_bitmap *bitmap, in xagb_bitmap_test() argument 39 return xbitmap32_test(&bitmap in xagb_bitmap_test() 42 xagb_bitmap_disunion(struct xagb_bitmap * bitmap,struct xagb_bitmap * sub) xagb_bitmap_disunion() argument 48 xagb_bitmap_hweight(struct xagb_bitmap * bitmap) xagb_bitmap_hweight() argument 52 xagb_bitmap_empty(struct xagb_bitmap * bitmap) xagb_bitmap_empty() argument 57 xagb_bitmap_walk(struct xagb_bitmap * bitmap,xbitmap32_walk_fn fn,void * priv) xagb_bitmap_walk() argument [all...] |
H A D | bitmap.h | 9 /* u64 bitmap */ 15 void xbitmap64_init(struct xbitmap64 *bitmap); 16 void xbitmap64_destroy(struct xbitmap64 *bitmap); 18 int xbitmap64_clear(struct xbitmap64 *bitmap, uint64_t start, uint64_t len); 19 int xbitmap64_set(struct xbitmap64 *bitmap, uint64_t start, uint64_t len); 20 int xbitmap64_disunion(struct xbitmap64 *bitmap, struct xbitmap64 *sub); 21 uint64_t xbitmap64_hweight(struct xbitmap64 *bitmap); 24 * Return codes for the bitmap iterator functions are 0 to continue iterating, 27 * iteration, because neither bitmap iterator ever generates that error code on 28 * its own. Callers must not modify the bitmap whil [all...] |
H A D | agino_bitmap.h | 15 static inline void xagino_bitmap_init(struct xagino_bitmap *bitmap) in xagino_bitmap_init() argument 17 xbitmap32_init(&bitmap->aginobitmap); in xagino_bitmap_init() 20 static inline void xagino_bitmap_destroy(struct xagino_bitmap *bitmap) in xagino_bitmap_destroy() argument 22 xbitmap32_destroy(&bitmap->aginobitmap); in xagino_bitmap_destroy() 25 static inline int xagino_bitmap_clear(struct xagino_bitmap *bitmap, in xagino_bitmap_clear() argument 28 return xbitmap32_clear(&bitmap->aginobitmap, agino, len); in xagino_bitmap_clear() 31 static inline int xagino_bitmap_set(struct xagino_bitmap *bitmap, in xagino_bitmap_set() argument 34 return xbitmap32_set(&bitmap->aginobitmap, agino, len); in xagino_bitmap_set() 37 static inline bool xagino_bitmap_test(struct xagino_bitmap *bitmap, in xagino_bitmap_test() argument 40 return xbitmap32_test(&bitmap in xagino_bitmap_test() 43 xagino_bitmap_walk(struct xagino_bitmap * bitmap,xbitmap32_walk_fn fn,void * priv) xagino_bitmap_walk() argument [all...] |
H A D | ino_bitmap.h | 15 static inline void xino_bitmap_init(struct xino_bitmap *bitmap) in xino_bitmap_init() argument 17 xbitmap64_init(&bitmap->inobitmap); in xino_bitmap_init() 20 static inline void xino_bitmap_destroy(struct xino_bitmap *bitmap) in xino_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->inobitmap); in xino_bitmap_destroy() 25 static inline int xino_bitmap_set(struct xino_bitmap *bitmap, xfs_ino_t ino) in xino_bitmap_set() argument 27 return xbitmap64_set(&bitmap->inobitmap, ino, 1); in xino_bitmap_set() 30 static inline int xino_bitmap_test(struct xino_bitmap *bitmap, xfs_ino_t ino) in xino_bitmap_test() argument 34 return xbitmap64_test(&bitmap->inobitmap, ino, &len); in xino_bitmap_test()
|
H A D | off_bitmap.h | 15 static inline void xoff_bitmap_init(struct xoff_bitmap *bitmap) in xoff_bitmap_init() argument 17 xbitmap64_init(&bitmap->offbitmap); in xoff_bitmap_init() 20 static inline void xoff_bitmap_destroy(struct xoff_bitmap *bitmap) in xoff_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->offbitmap); in xoff_bitmap_destroy() 25 static inline int xoff_bitmap_set(struct xoff_bitmap *bitmap, in xoff_bitmap_set() argument 28 return xbitmap64_set(&bitmap->offbitmap, off, len); in xoff_bitmap_set() 31 static inline int xoff_bitmap_walk(struct xoff_bitmap *bitmap, in xoff_bitmap_walk() argument 34 return xbitmap64_walk(&bitmap->offbitmap, fn, priv); in xoff_bitmap_walk()
|
H A D | fsb_bitmap.h | 15 static inline void xfsb_bitmap_init(struct xfsb_bitmap *bitmap) in xfsb_bitmap_init() argument 17 xbitmap64_init(&bitmap->fsbitmap); in xfsb_bitmap_init() 20 static inline void xfsb_bitmap_destroy(struct xfsb_bitmap *bitmap) in xfsb_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->fsbitmap); in xfsb_bitmap_destroy() 25 static inline int xfsb_bitmap_set(struct xfsb_bitmap *bitmap, in xfsb_bitmap_set() argument 28 return xbitmap64_set(&bitmap->fsbitmap, start, len); in xfsb_bitmap_set() 31 static inline int xfsb_bitmap_walk(struct xfsb_bitmap *bitmap, in xfsb_bitmap_walk() argument 34 return xbitmap64_walk(&bitmap->fsbitmap, fn, priv); in xfsb_bitmap_walk()
|
H A D | rgb_bitmap.h | 15 static inline void xrgb_bitmap_init(struct xrgb_bitmap *bitmap) in xrgb_bitmap_init() argument 17 xbitmap32_init(&bitmap->rgbitmap); in xrgb_bitmap_init() 20 static inline void xrgb_bitmap_destroy(struct xrgb_bitmap *bitmap) in xrgb_bitmap_destroy() argument 22 xbitmap32_destroy(&bitmap->rgbitmap); in xrgb_bitmap_destroy() 25 static inline int xrgb_bitmap_set(struct xrgb_bitmap *bitmap, in xrgb_bitmap_set() argument 28 return xbitmap32_set(&bitmap->rgbitmap, start, len); in xrgb_bitmap_set() 31 static inline int xrgb_bitmap_walk(struct xrgb_bitmap *bitmap, in xrgb_bitmap_walk() argument 34 return xbitmap32_walk(&bitmap->rgbitmap, fn, priv); in xrgb_bitmap_walk()
|
H A D | dab_bitmap.h | 15 static inline void xdab_bitmap_init(struct xdab_bitmap *bitmap) in xdab_bitmap_init() argument 17 xbitmap32_init(&bitmap->dabitmap); in xdab_bitmap_init() 20 static inline void xdab_bitmap_destroy(struct xdab_bitmap *bitmap) in xdab_bitmap_destroy() argument 22 xbitmap32_destroy(&bitmap->dabitmap); in xdab_bitmap_destroy() 25 static inline int xdab_bitmap_set(struct xdab_bitmap *bitmap, in xdab_bitmap_set() argument 28 return xbitmap32_set(&bitmap->dabitmap, dabno, len); in xdab_bitmap_set() 31 static inline bool xdab_bitmap_test(struct xdab_bitmap *bitmap, in xdab_bitmap_test() argument 34 return xbitmap32_test(&bitmap->dabitmap, dabno, len); in xdab_bitmap_test()
|
H A D | rtb_bitmap.h | 15 static inline void xrtb_bitmap_init(struct xrtb_bitmap *bitmap) in xrtb_bitmap_init() argument 17 xbitmap64_init(&bitmap->rtbitmap); in xrtb_bitmap_init() 20 static inline void xrtb_bitmap_destroy(struct xrtb_bitmap *bitmap) in xrtb_bitmap_destroy() argument 22 xbitmap64_destroy(&bitmap->rtbitmap); in xrtb_bitmap_destroy() 25 static inline int xrtb_bitmap_set(struct xrtb_bitmap *bitmap, in xrtb_bitmap_set() argument 28 return xbitmap64_set(&bitmap->rtbitmap, start, len); in xrtb_bitmap_set() 31 static inline int xrtb_bitmap_walk(struct xrtb_bitmap *bitmap, in xrtb_bitmap_walk() argument 34 return xbitmap64_walk(&bitmap->rtbitmap, fn, priv); in xrtb_bitmap_walk()
|
/linux/lib/ |
H A D | find_bit_benchmark.c | 14 * - randomly filled bitmap with approximately equal number of set and 16 * - sparse bitmap with few set bits at random positions. 29 static DECLARE_BITMAP(bitmap, BITMAP_LEN) __initdata; 34 * all other tests for the same bitmap because it sets all bits of bitmap to 1. 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_LE in test_find_first_and_bit() 71 test_find_next_bit(const void * bitmap,unsigned long len) test_find_next_bit() argument 85 test_find_next_zero_bit(const void * bitmap,unsigned long len) test_find_next_zero_bit() argument 99 test_find_last_bit(const void * bitmap,unsigned long len) test_find_last_bit() argument 118 test_find_nth_bit(const unsigned long * bitmap,unsigned long len) test_find_nth_bit() argument 134 test_find_next_and_bit(const void * bitmap,const void * bitmap2,unsigned long len) test_find_next_and_bit() argument [all...] |
H A D | memweight.c | 4 #include <linux/bitmap.h> 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 | 3 * lib/bitmap.c 4 * Helper functions for bitmap.h. 7 #include <linux/bitmap.h> 15 * DOC: bitmap introduction 19 * given bitmap does _not_ need to be an exact multiple of 23 * of a bitmap are 'don't care'. The implementation makes 26 * The bitmap operations that return Boolean (bitmap_empty, 82 * __bitmap_shift_right - logical right shift of the bits in a bitmap 83 * @dst : destination bitmap 84 * @src : source bitmap 338 __bitmap_weight(const unsigned long * bitmap,unsigned int bits) __bitmap_weight() argument 743 bitmap_free(const unsigned long * bitmap) bitmap_free() argument 751 unsigned long *bitmap = data; devm_bitmap_free() local 759 unsigned long *bitmap; devm_bitmap_alloc() local 788 bitmap_from_arr32(unsigned long * bitmap,const u32 * buf,unsigned int nbits) bitmap_from_arr32() argument 811 bitmap_to_arr32(u32 * buf,const unsigned long * bitmap,unsigned int nbits) bitmap_to_arr32() argument 836 bitmap_from_arr64(unsigned long * bitmap,const u64 * buf,unsigned int nbits) bitmap_from_arr64() argument 866 bitmap_to_arr64(u64 * buf,const unsigned long * bitmap,unsigned int nbits) bitmap_to_arr64() argument [all...] |
/linux/drivers/net/ethernet/mellanox/mlx4/ |
H A D | alloc.c | 38 #include <linux/bitmap.h> 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 in mlx4_bitmap_alloc() 74 mlx4_bitmap_free(struct mlx4_bitmap * bitmap,u32 obj,int use_rr) mlx4_bitmap_free() argument 79 find_aligned_range(unsigned long * bitmap,u32 start,u32 nbits,int len,int align,u32 skip_mask) find_aligned_range() argument 109 mlx4_bitmap_alloc_range(struct mlx4_bitmap * bitmap,int cnt,int align,u32 skip_mask) mlx4_bitmap_alloc_range() argument 147 mlx4_bitmap_avail(struct mlx4_bitmap * bitmap) mlx4_bitmap_avail() argument 152 mlx4_bitmap_masked_value(struct mlx4_bitmap * bitmap,u32 obj) mlx4_bitmap_masked_value() argument 157 mlx4_bitmap_free_range(struct mlx4_bitmap * bitmap,u32 obj,int cnt,int use_rr) mlx4_bitmap_free_range() argument 173 mlx4_bitmap_init(struct mlx4_bitmap * bitmap,u32 num,u32 mask,u32 reserved_bot,u32 reserved_top) mlx4_bitmap_init() argument 197 mlx4_bitmap_cleanup(struct mlx4_bitmap * bitmap) mlx4_bitmap_cleanup() argument 217 struct mlx4_bitmap *bitmap; global() member 242 mlx4_zone_add_one(struct mlx4_zone_allocator * zone_alloc,struct mlx4_bitmap * bitmap,u32 flags,int priority,int offset,u32 * puid) mlx4_zone_add_one() argument 441 struct mlx4_bitmap *bitmap; mlx4_zone_get_bitmap() local [all...] |
/linux/fs/afs/ |
H A D | dir_edit.c | 20 * There are 64 slots, which means we can load the entire bitmap into a 26 u64 bitmap; in afs_find_contig_bits() local 30 bitmap = (u64)block->hdr.bitmap[0] << 0 * 8; in afs_find_contig_bits() 31 bitmap |= (u64)block->hdr.bitmap[1] << 1 * 8; in afs_find_contig_bits() 32 bitmap |= (u64)block->hdr.bitmap[2] << 2 * 8; in afs_find_contig_bits() 33 bitmap |= (u64)block->hdr.bitmap[ in afs_find_contig_bits() 169 u64 bitmap; afs_dir_scan_block() local [all...] |
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
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...] |
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
H A D | pool.c | 195 unsigned long *bitmap; in hws_pool_create_and_init_bitmap() local 197 bitmap = bitmap_zalloc(1 << log_range, GFP_KERNEL); in hws_pool_create_and_init_bitmap() 198 if (!bitmap) in hws_pool_create_and_init_bitmap() 201 bitmap_fill(bitmap, 1 << log_range); in hws_pool_create_and_init_bitmap() 203 return bitmap; in hws_pool_create_and_init_bitmap() 208 unsigned long *bitmap; in hws_pool_bitmap_init() local 210 bitmap = hws_pool_create_and_init_bitmap(pool->alloc_log_sz); in hws_pool_bitmap_init() 211 if (!bitmap) { in hws_pool_bitmap_init() 212 mlx5hws_err(pool->ctx, "Failed to create bitmap order: %zu\n", in hws_pool_bitmap_init() 220 bitmap_free(bitmap); in hws_pool_bitmap_init() 232 unsigned long *bitmap, size; hws_pool_bitmap_db_get_chunk() local 259 unsigned long *bitmap; hws_pool_bitmap_db_put_chunk() local 272 unsigned long *bitmap; hws_pool_bitmap_db_uninit() local [all...] |
H A D | buddy.c | 13 buddy->bitmap = kcalloc(buddy->max_order + 1, in hws_buddy_init() 14 sizeof(*buddy->bitmap), in hws_buddy_init() 16 if (!buddy->bitmap) in hws_buddy_init() 30 buddy->bitmap[i] = bitmap_zalloc(s, GFP_KERNEL); in hws_buddy_init() 31 if (!buddy->bitmap[i]) { in hws_buddy_init() 37 bitmap_set(buddy->bitmap[buddy->max_order], 0, 1); in hws_buddy_init() 44 bitmap_free(buddy->bitmap[i]); in hws_buddy_init() 49 kfree(buddy->bitmap); in hws_buddy_init() 76 bitmap_free(buddy->bitmap[i]); in mlx5hws_buddy_cleanup() 79 kfree(buddy->bitmap); in mlx5hws_buddy_cleanup() [all...] |
/linux/arch/powerpc/sysdev/ |
H A D | msi_bitmap.c | 9 #include <linux/bitmap.h> 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() 66 * @bmp: pointer to the MSI bitmap. 70 * are reserved in the bitmap. 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() 121 pr_debug("msi_bitmap: allocator bitmap siz in msi_bitmap_alloc() [all...] |
/linux/drivers/gpu/drm/xe/ |
H A D | xe_guc_id_mgr.c | 6 #include <linux/bitmap.h> 44 unsigned int weight = bitmap_weight(idm->bitmap, idm->total); in __fini_idm() 55 bitmap_free(idm->bitmap); in __fini_idm() 56 idm->bitmap = NULL; in __fini_idm() 80 idm_assert(idm, !idm->bitmap); in xe_guc_id_mgr_init() 91 idm->bitmap = bitmap_zalloc(limit, GFP_KERNEL); in xe_guc_id_mgr_init() 92 if (!idm->bitmap) in xe_guc_id_mgr_init() 105 static unsigned int find_last_zero_area(unsigned long *bitmap, in find_last_zero_area() argument 112 for_each_clear_bitrange(rs, re, bitmap, total) { in find_last_zero_area() 142 id = find_last_zero_area(idm->bitmap, id in idm_reserve_chunk_locked() [all...] |
H A D | xe_guc_db_mgr.c | 6 #include <linux/bitmap.h> 58 weight = bitmap_weight(dbm->bitmap, dbm->count); in __fini_dbm() 67 bitmap_free(dbm->bitmap); in __fini_dbm() 68 dbm->bitmap = NULL; in __fini_dbm() 94 dbm_assert(dbm, !dbm->bitmap); in xe_guc_db_mgr_init() 100 dbm->bitmap = bitmap_zalloc(count, GFP_KERNEL); in xe_guc_db_mgr_init() 101 if (!dbm->bitmap) in xe_guc_db_mgr_init() 129 used = bitmap_weight(dbm->bitmap, dbm->count); in dbm_reserve_chunk_locked() 134 index = bitmap_find_next_zero_area(dbm->bitmap, dbm->count, 0, count, 0); in dbm_reserve_chunk_locked() 138 bitmap_set(dbm->bitmap, inde in dbm_reserve_chunk_locked() [all...] |
/linux/include/linux/ |
H A D | iova_bitmap.h | 14 typedef int (*iova_bitmap_fn_t)(struct iova_bitmap *bitmap, 22 void iova_bitmap_free(struct iova_bitmap *bitmap); 23 int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, 25 void iova_bitmap_set(struct iova_bitmap *bitmap, 36 static inline void iova_bitmap_free(struct iova_bitmap *bitmap) in iova_bitmap_free() argument 40 static inline int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, in iova_bitmap_for_each() argument 46 static inline void iova_bitmap_set(struct iova_bitmap *bitmap, in iova_bitmap_set() argument
|
/linux/drivers/gpu/drm/i915/selftests/ |
H A D | i915_syncmap.c | 62 for_each_set_bit(i, (unsigned long *)&p->bitmap, KSYNCMAP) { in __sync_print() 77 for_each_set_bit(i, (unsigned long *)&p->bitmap, KSYNCMAP) { in __sync_print() 80 last << 1 | ((p->bitmap >> (i + 1)) ? 1 : 0), in __sync_print() 183 if (hweight32((*sync)->bitmap) != 1) { in check_one() 184 pr_err("First bitmap does not contain a single entry, found %x (count=%d)!\n", in check_one() 185 (*sync)->bitmap, hweight32((*sync)->bitmap)); in check_one() 189 err = check_seqno((*sync), ilog2((*sync)->bitmap), seqno); in check_one() 252 if (hweight32((*sync)->bitmap) != 1) { in check_leaf() 254 context, (*sync)->bitmap, hweight3 in check_leaf() [all...] |