Function report |
Source Code:block\bio.c |
Create Date:2022-07-28 16:54:32 |
| Last Modify:2020-03-17 23:13:58 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:bio_find_or_create_slab
Proto:static struct kmem_cache *bio_find_or_create_slab(unsigned int extra_size)
Type:struct kmem_cache
Parameter:
| Type | Parameter | Name |
|---|---|---|
| unsigned int | extra_size |
| 64 | sz = sizeof(structbio) + extra_size |
| 65 | struct kmem_cache * slab = NULL |
| 68 | entry = -1 |
| 70 | mutex_lock( & bio_slab_lock) |
| 72 | i = 0 |
| 73 | When i < bio_slab_nr cycle |
| 83 | i++ |
| 86 | If slab Then Go to out_unlock |
| 89 | If bio_slab_nr == bio_slab_max && entry == -1 Then |
| 90 | new_bio_slab_max = bio_slab_max << 1 |
| 94 | If Not new_bio_slabs Then Go to out_unlock |
| 97 | bio_slabs = new_bio_slabs |
| 99 | If entry == -1 Then entry = bio_slab_nr++ |
| 107 | If Not slab Then Go to out_unlock |
| 111 | slab_ref = 1 |
| 113 | out_unlock : |
| 115 | Return slab |
| Name | Describe |
|---|---|
| bioset_init | set_init - Initialize a bio_set*@bs: pool to initialize*@pool_size: Number of bio and bio_vecs to cache in the mempool*@front_pad: Number of bytes to allocate in front of the returned bio*@flags: Flags to modify behavior, currently %BIOSET_NEED_BVECS* and |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |