MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kmem_del_init

Function kmem_del_init

freebsd/contrib/openzfs/module/os/linux/spl/spl-kmem.c:362–387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

360static struct list_head kmem_list;
361
362static kmem_debug_t *
363kmem_del_init(spinlock_t *lock, struct hlist_head *table,
364 int bits, const void *addr)
365{
366 struct hlist_head *head;
367 struct hlist_node *node = NULL;
368 struct kmem_debug *p;
369 unsigned long flags;
370
371 spin_lock_irqsave(lock, flags);
372
373 head = &table[hash_ptr((void *)addr, bits)];
374 hlist_for_each(node, head) {
375 p = list_entry(node, struct kmem_debug, kd_hlist);
376 if (p->kd_addr == addr) {
377 hlist_del_init(&p->kd_hlist);
378 list_del_init(&p->kd_list);
379 spin_unlock_irqrestore(lock, flags);
380 return (p);
381 }
382 }
383
384 spin_unlock_irqrestore(lock, flags);
385
386 return (NULL);
387}
388
389inline void *
390spl_kmem_alloc_track(size_t size, int flags,

Callers 1

spl_kmem_free_trackFunction · 0.85

Calls 1

list_del_initFunction · 0.85

Tested by

no test coverage detected