Lines Matching refs:uc_pool

44 	struct uncached_pool *uc_pool = (struct uncached_pool *)data;  in uncached_ipi_visibility()  local
49 atomic_inc(&uc_pool->status); in uncached_ipi_visibility()
56 struct uncached_pool *uc_pool = (struct uncached_pool *)data; in uncached_ipi_mc_drain() local
60 atomic_inc(&uc_pool->status); in uncached_ipi_mc_drain()
73 static int uncached_add_chunk(struct uncached_pool *uc_pool, int nid) in uncached_add_chunk() argument
76 int status, i, nchunks_added = uc_pool->nchunks_added; in uncached_add_chunk()
79 if (mutex_lock_interruptible(&uc_pool->add_chunk_mutex) != 0) in uncached_add_chunk()
82 if (uc_pool->nchunks_added > nchunks_added) { in uncached_add_chunk()
84 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
88 if (uc_pool->nchunks_added >= MAX_CONVERTED_CHUNKS_PER_NODE) { in uncached_add_chunk()
89 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
99 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
120 atomic_set(&uc_pool->status, 0); in uncached_add_chunk()
121 smp_call_function(uncached_ipi_visibility, uc_pool, 1); in uncached_add_chunk()
122 if (atomic_read(&uc_pool->status)) in uncached_add_chunk()
139 atomic_set(&uc_pool->status, 0); in uncached_add_chunk()
140 smp_call_function(uncached_ipi_mc_drain, uc_pool, 1); in uncached_add_chunk()
141 if (atomic_read(&uc_pool->status)) in uncached_add_chunk()
148 status = gen_pool_add(uc_pool->pool, uc_addr, IA64_GRANULE_SIZE, nid); in uncached_add_chunk()
152 uc_pool->nchunks_added++; in uncached_add_chunk()
153 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
162 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
180 struct uncached_pool *uc_pool; in uncached_alloc_page() local
193 uc_pool = &uncached_pools[nid]; in uncached_alloc_page()
194 if (uc_pool->pool == NULL) in uncached_alloc_page()
197 uc_addr = gen_pool_alloc(uc_pool->pool, in uncached_alloc_page()
201 } while (uncached_add_chunk(uc_pool, nid) == 0); in uncached_alloc_page()