Lines Matching defs:vm_area
217 struct vm_struct *vm_area;
233 vm_area = this_cpu_xchg(cached_stacks[i], NULL);
234 if (vm_area)
235 return vm_area;
242 static bool try_release_thread_stack_to_cache(struct vm_struct *vm_area)
258 for (i = 0; i < vm_area->nr_pages; i++) {
259 struct page *page = vm_area->pages[i];
268 if (this_cpu_try_cmpxchg(cached_stacks[i], &tmp, vm_area))
278 struct vm_struct *vm_area = vm_stack->stack_vm_area;
283 vfree(vm_area->addr);
300 struct vm_struct *vm_area = cached_vm_stack_areas[i];
302 if (!vm_area)
305 vfree(vm_area->addr);
312 static int memcg_charge_kernel_stack(struct vm_struct *vm_area)
318 BUG_ON(vm_area->nr_pages != THREAD_SIZE / PAGE_SIZE);
321 ret = memcg_kmem_charge_page(vm_area->pages[i], GFP_KERNEL, 0);
329 memcg_kmem_uncharge_page(vm_area->pages[i], 0);
335 struct vm_struct *vm_area;
338 vm_area = alloc_thread_stack_node_from_cache(tsk, node);
339 if (vm_area) {
340 if (memcg_charge_kernel_stack(vm_area)) {
341 vfree(vm_area->addr);
347 kasan_unpoison_range(vm_area->addr, THREAD_SIZE);
349 stack = kasan_reset_tag(vm_area->addr);
352 clear_pages(vm_area->addr, vm_area->nr_pages);
354 tsk->stack_vm_area = vm_area;
365 vm_area = find_vm_area(stack);
366 if (memcg_charge_kernel_stack(vm_area)) {
375 tsk->stack_vm_area = vm_area;
488 struct vm_struct *vm_area = task_stack_vm_area(tsk);
492 mod_lruvec_page_state(vm_area->pages[i], NR_KERNEL_STACK_KB,
508 struct vm_struct *vm_area;
511 vm_area = task_stack_vm_area(tsk);
513 memcg_kmem_uncharge_page(vm_area->pages[i], 0);