Lines Matching refs:uc_pool

46 	struct uncached_pool *uc_pool = (struct uncached_pool *)data;  in uncached_ipi_visibility()  local
51 atomic_inc(&uc_pool->status); in uncached_ipi_visibility()
58 struct uncached_pool *uc_pool = (struct uncached_pool *)data; in uncached_ipi_mc_drain() local
62 atomic_inc(&uc_pool->status); in uncached_ipi_mc_drain()
75 static int uncached_add_chunk(struct uncached_pool *uc_pool, int nid) in uncached_add_chunk() argument
78 int status, i, nchunks_added = uc_pool->nchunks_added; in uncached_add_chunk()
81 if (mutex_lock_interruptible(&uc_pool->add_chunk_mutex) != 0) in uncached_add_chunk()
84 if (uc_pool->nchunks_added > nchunks_added) { in uncached_add_chunk()
86 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
90 if (uc_pool->nchunks_added >= MAX_CONVERTED_CHUNKS_PER_NODE) { in uncached_add_chunk()
91 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
101 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
122 atomic_set(&uc_pool->status, 0); in uncached_add_chunk()
123 smp_call_function(uncached_ipi_visibility, uc_pool, 1); in uncached_add_chunk()
124 if (atomic_read(&uc_pool->status)) in uncached_add_chunk()
141 atomic_set(&uc_pool->status, 0); in uncached_add_chunk()
142 smp_call_function(uncached_ipi_mc_drain, uc_pool, 1); in uncached_add_chunk()
143 if (atomic_read(&uc_pool->status)) in uncached_add_chunk()
150 status = gen_pool_add(uc_pool->pool, uc_addr, IA64_GRANULE_SIZE, nid); in uncached_add_chunk()
154 uc_pool->nchunks_added++; in uncached_add_chunk()
155 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
164 mutex_unlock(&uc_pool->add_chunk_mutex); in uncached_add_chunk()
182 struct uncached_pool *uc_pool; in uncached_alloc_page() local
195 uc_pool = &uncached_pools[nid]; in uncached_alloc_page()
196 if (uc_pool->pool == NULL) in uncached_alloc_page()
199 uc_addr = gen_pool_alloc(uc_pool->pool, in uncached_alloc_page()
203 } while (uncached_add_chunk(uc_pool, nid) == 0); in uncached_alloc_page()