• Home
  • Raw
  • Download

Lines Matching refs:fle

87 static void flow_entry_kill(int cpu, struct flow_cache_entry *fle)  in flow_entry_kill()  argument
89 if (fle->object) in flow_entry_kill()
90 atomic_dec(fle->object_ref); in flow_entry_kill()
91 kmem_cache_free(flow_cachep, fle); in flow_entry_kill()
97 struct flow_cache_entry *fle, **flp; in __flow_cache_shrink() local
104 while ((fle = *flp) != NULL && k < shrink_to) { in __flow_cache_shrink()
106 flp = &fle->next; in __flow_cache_shrink()
108 while ((fle = *flp) != NULL) { in __flow_cache_shrink()
109 *flp = fle->next; in __flow_cache_shrink()
110 flow_entry_kill(cpu, fle); in __flow_cache_shrink()
171 struct flow_cache_entry *fle, **head; in flow_cache_lookup() local
178 fle = NULL; in flow_cache_lookup()
189 for (fle = *head; fle; fle = fle->next) { in flow_cache_lookup()
190 if (fle->family == family && in flow_cache_lookup()
191 fle->dir == dir && in flow_cache_lookup()
192 flow_key_compare(key, &fle->key) == 0) { in flow_cache_lookup()
193 if (fle->genid == atomic_read(&flow_cache_genid)) { in flow_cache_lookup()
194 void *ret = fle->object; in flow_cache_lookup()
197 atomic_inc(fle->object_ref); in flow_cache_lookup()
206 if (!fle) { in flow_cache_lookup()
210 fle = kmem_cache_alloc(flow_cachep, GFP_ATOMIC); in flow_cache_lookup()
211 if (fle) { in flow_cache_lookup()
212 fle->next = *head; in flow_cache_lookup()
213 *head = fle; in flow_cache_lookup()
214 fle->family = family; in flow_cache_lookup()
215 fle->dir = dir; in flow_cache_lookup()
216 memcpy(&fle->key, key, sizeof(*key)); in flow_cache_lookup()
217 fle->object = NULL; in flow_cache_lookup()
230 if (fle && !err) { in flow_cache_lookup()
231 fle->genid = atomic_read(&flow_cache_genid); in flow_cache_lookup()
233 if (fle->object) in flow_cache_lookup()
234 atomic_dec(fle->object_ref); in flow_cache_lookup()
236 fle->object = obj; in flow_cache_lookup()
237 fle->object_ref = obj_ref; in flow_cache_lookup()
239 atomic_inc(fle->object_ref); in flow_cache_lookup()
257 struct flow_cache_entry *fle; in flow_cache_flush_tasklet() local
259 fle = flow_table(cpu)[i]; in flow_cache_flush_tasklet()
260 for (; fle; fle = fle->next) { in flow_cache_flush_tasklet()
263 if (!fle->object || fle->genid == genid) in flow_cache_flush_tasklet()
266 fle->object = NULL; in flow_cache_flush_tasklet()
267 atomic_dec(fle->object_ref); in flow_cache_flush_tasklet()