0
我通過kmem_cache_create(... size)
創建slab緩存,然後通過kmem_cache_alloc()
從此緩存中分配內存。如果kmem_cache沒有可用內存分配會發生什麼?
在我爲「大小」次分配了內存後,如果我撥kmem_cache_alloc()
來分配size + 1
的內存會發生什麼?隱式返回NULL或擴展緩存?
我通過kmem_cache_create(... size)
創建slab緩存,然後通過kmem_cache_alloc()
從此緩存中分配內存。如果kmem_cache沒有可用內存分配會發生什麼?
在我爲「大小」次分配了內存後,如果我撥kmem_cache_alloc()
來分配size + 1
的內存會發生什麼?隱式返回NULL或擴展緩存?
「大小」參數不是關於爲任何事物保留的內存。它與kmem_cache_alloc返回的每個分配大小有關。
它可能會在一般情況下會有內存不足,在這種情況下,根據標記爲kmem_cache_alloc的標誌,內核可能嘗試通過例如釋放一些內存。收縮緩存。