Function report |
Source Code:lib\bucket_locks.c |
Create Date:2022-07-28 06:25:30 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Allocate an array of spinlocks to be accessed by a hash. Two arguments* indicate the number of elements to allocate in the array. max_size* gives the maximum number of elements to allocate. cpu_mult gives* the number of locks per CPU to allocate
Proto:int __alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *locks_mask, size_t max_size, unsigned int cpu_mult, gfp_t gfp, const char *name, struct lock_class_key *key)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| spinlock_t ** | locks | |
| unsigned int * | locks_mask | |
| size_t | max_size | |
| unsigned int | cpu_mult | |
| gfp_t | gfp | |
| const char * | name | |
| struct lock_class_key * | key |
| 18 | spinlock_t * tlocks = NULL |
| 23 | nr_pcpus = num_possible_cpus() |
| 26 | If cpu_mult Then |
| 29 | Else |
| 33 | If sizeof(spinlock_t) != 0 Then |
| 34 | tlocks = kvmalloc_array(size, sizeof(spinlock_t), gfp) |
| 38 | Process spin lock initialization( & tlocks[i]) |
| 39 | lockdep_init_map( & dep_map, name, key, 0) |
| 44 | locks_mask = size - 1 |
| 46 | Return 0 |
| 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 |