Lines Matching defs:uc_pool
49 struct uncached_pool *uc_pool = (struct uncached_pool *)data;
54 atomic_inc(&uc_pool->status);
61 struct uncached_pool *uc_pool = (struct uncached_pool *)data;
65 atomic_inc(&uc_pool->status);
78 static int uncached_add_chunk(struct uncached_pool *uc_pool, int nid)
81 int status, i, nchunks_added = uc_pool->nchunks_added;
84 if (mutex_lock_interruptible(&uc_pool->add_chunk_mutex) != 0)
87 if (uc_pool->nchunks_added > nchunks_added) {
89 mutex_unlock(&uc_pool->add_chunk_mutex);
93 if (uc_pool->nchunks_added >= MAX_CONVERTED_CHUNKS_PER_NODE) {
94 mutex_unlock(&uc_pool->add_chunk_mutex);
104 mutex_unlock(&uc_pool->add_chunk_mutex);
125 atomic_set(&uc_pool->status, 0);
126 status = smp_call_function(uncached_ipi_visibility, uc_pool, 1);
127 if (status || atomic_read(&uc_pool->status))
147 atomic_set(&uc_pool->status, 0);
148 status = smp_call_function(uncached_ipi_mc_drain, uc_pool, 1);
149 if (status || atomic_read(&uc_pool->status))
156 status = gen_pool_add(uc_pool->pool, uc_addr, IA64_GRANULE_SIZE, nid);
160 uc_pool->nchunks_added++;
161 mutex_unlock(&uc_pool->add_chunk_mutex);
170 mutex_unlock(&uc_pool->add_chunk_mutex);
188 struct uncached_pool *uc_pool;
201 uc_pool = &uncached_pools[nid];
202 if (uc_pool->pool == NULL)
205 uc_addr = gen_pool_alloc(uc_pool->pool,
209 } while (uncached_add_chunk(uc_pool, nid) == 0);