Subject: + mm-vmallocc-remove-dead-code-in-vb_alloc.patch added to -mm tree To: zhangyanfei@xxxxxxxxxxxxxx,hannes@xxxxxxxxxxx,mel@xxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Tue, 11 Jun 2013 13:05:00 -0700 The patch titled Subject: mm/vmalloc.c: remove dead code in vb_alloc has been added to the -mm tree. Its filename is mm-vmallocc-remove-dead-code-in-vb_alloc.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Subject: mm/vmalloc.c: remove dead code in vb_alloc Space in a vmap block that was once allocated is considered dirty and not made available for allocation again before the whole block is recycled. The result is that free space within a vmap block is always contiguous. So if a vmap block has enough free space for allocation, the allocation is impossible to fail. Thus, the fragmented block purging was never invoked from vb_alloc(). So remove this dead code. Signed-off-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/vmalloc.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff -puN mm/vmalloc.c~mm-vmallocc-remove-dead-code-in-vb_alloc mm/vmalloc.c --- a/mm/vmalloc.c~mm-vmallocc-remove-dead-code-in-vb_alloc +++ a/mm/vmalloc.c @@ -910,7 +910,6 @@ static void *vb_alloc(unsigned long size struct vmap_block *vb; unsigned long addr = 0; unsigned int order; - int purge = 0; BUG_ON(size & ~PAGE_MASK); BUG_ON(size > PAGE_SIZE*VMAP_MAX_ALLOC); @@ -934,17 +933,7 @@ again: if (vb->free < 1UL << order) goto next; - i = bitmap_find_free_region(vb->alloc_map, - VMAP_BBMAP_BITS, order); - - if (i < 0) { - if (vb->free + vb->dirty == VMAP_BBMAP_BITS) { - /* fragmented and no outstanding allocations */ - BUG_ON(vb->dirty != VMAP_BBMAP_BITS); - purge = 1; - } - goto next; - } + i = VMAP_BBMAP_BITS - vb->free; addr = vb->va->va_start + (i << PAGE_SHIFT); BUG_ON(addr_to_vb_idx(addr) != addr_to_vb_idx(vb->va->va_start)); @@ -960,9 +949,6 @@ next: spin_unlock(&vb->lock); } - if (purge) - purge_fragmented_blocks_thiscpu(); - put_cpu_var(vmap_block_queue); rcu_read_unlock(); _ Patches currently in -mm which might be from zhangyanfei@xxxxxxxxxxxxxx are linux-next.patch vmcore-clean-up-read_vmcore.patch vmcore-allocate-buffer-for-elf-headers-on-page-size-alignment.patch vmcore-allocate-buffer-for-elf-headers-on-page-size-alignment-fix.patch vmcore-treat-memory-chunks-referenced-by-pt_load-program-header-entries-in-page-size-boundary-in-vmcore_list.patch vmalloc-make-find_vm_area-check-in-range.patch vmalloc-introduce-remap_vmalloc_range_partial.patch vmalloc-introduce-remap_vmalloc_range_partial-fix.patch vmcore-allocate-elf-note-segment-in-the-2nd-kernel-vmalloc-memory.patch vmcore-allocate-elf-note-segment-in-the-2nd-kernel-vmalloc-memory-fix.patch vmcore-allow-user-process-to-remap-elf-note-segment-buffer.patch vmcore-allow-user-process-to-remap-elf-note-segment-buffer-fix.patch vmcore-calculate-vmcore-file-size-from-buffer-size-and-total-size-of-vmcore-objects.patch vmcore-support-mmap-on-proc-vmcore.patch vmcore-support-mmap-on-proc-vmcore-fix.patch vmcore-support-mmap-on-proc-vmcore-fix-2.patch mm-ia64-prepare-for-removing-num_physpages-and-simplify-mem_init.patch mm-vmalloc-only-call-setup_vmalloc_vm-only-in-__get_vm_area_node.patch mm-vmalloc-call-setup_vmalloc_vm-instead-of-insert_vmalloc_vm.patch mm-vmalloc-remove-insert_vmalloc_vm.patch mm-vmalloc-use-clamp-to-simplify-code.patch mm-remove-duplicated-call-of-get_pfn_range_for_nid.patch mm-vmallocc-unbreak-__vunmap.patch mm-vmallocc-remove-dead-code-in-vb_alloc.patch mm-vmallocc-remove-unused-purge_fragmented_blocks_thiscpu.patch mm-vmallocc-remove-alloc_map-from-vmap_block.patch dev-oldmem-remove-the-interface.patch dev-oldmem-remove-the-interface-fix.patch documentation-kdump-kdumptxt-remove-dev-oldmem-description.patch mips-remove-savemaxmem-parameter-setup.patch powerpc-remove-savemaxmem-parameter-setup.patch ia64-remove-setting-for-saved_max_pfn.patch s390-remove-setting-for-saved_max_pfn.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html