+static void __ksm_add_vma(struct vm_area_struct *vma) +{
- unsigned long vm_flags = vma->vm_flags;
- if (vm_flags & VM_MERGEABLE)
return;
- if (vma_ksm_compatible(vma)) {
vm_flags |= VM_MERGEABLE;
vm_flags_reset(vma, vm_flags);
- }
+}
We can do the following simplification on top:
diff --git a/mm/ksm.c b/mm/ksm.c index 905c8edce5cf..26e7f585d65d 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -2511,15 +2511,11 @@ static int ksm_scan_thread(void *nothing)
static void __ksm_add_vma(struct vm_area_struct *vma) { - unsigned long vm_flags = vma->vm_flags; - - if (vm_flags & VM_MERGEABLE) + if (vma->vm_flags & VM_MERGEABLE) return;
- if (vma_ksm_compatible(vma)) { - vm_flags |= VM_MERGEABLE; - vm_flags_reset(vma, vm_flags); - } + if (vma_ksm_compatible(vma)) + vm_flags_set(vma, VM_MERGEABLE); }
/**