Skip to contentSkip to conversation

mm: mmap: remove unnecessary unlikely()

PATCH In review Yangtao Li 2 participants 2 messages Nov 4, 2018 – Nov 5, 2018

Subsystems (2)
lore
Share & tools
lore

Yangtao Li

author
#0 lore raw

PATCH 1/1 mm: mmap: remove unnecessary unlikely()

WARN_ON() already contains an unlikely(), so it's not necessary to use unlikely.

---
 mm/mmap.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
mm/mmap.c +1 -3
index 6c04292e16a7..2077008ade0c 100644
@@ -2965,10 +2965,8 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
 static inline void verify_mm_writelocked(struct mm_struct *mm)
 {
 #ifdef CONFIG_DEBUG_VM
-	if (unlikely(down_read_trylock(&mm->mmap_sem))) {
-		WARN_ON(1);
+	if (WARN_ON(down_read_trylock(&mm->mmap_sem)))
 		up_read(&mm->mmap_sem);
-	}
 #endif
 }
 
Signature · 1 line
2.17.0
#1 lore raw
Quoted 2 lines · Yangtao Li

WARN_ON() already contains an unlikely(), so it's not necessary to use unlikely.

We should just get rid of this ugliness altogether. It no longer serves its purpose. This is a historical artifact from 2005 where do_brk was called outside of the core mm. We do have a proper abstraction in vm_brk_flags and that one does the locking properly.

Quoted 25 lines
---
 mm/mmap.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
mm/mmap.c +1 -3
index 6c04292e16a7..2077008ade0c 100644
@@ -2965,10 +2965,8 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
 static inline void verify_mm_writelocked(struct mm_struct *mm)
 {
 #ifdef CONFIG_DEBUG_VM
-	if (unlikely(down_read_trylock(&mm->mmap_sem))) {
-		WARN_ON(1);
+	if (WARN_ON(down_read_trylock(&mm->mmap_sem)))
 		up_read(&mm->mmap_sem);
-	}
 #endif
 }
 
Signature · 1 line
2.17.0
Signature · 2 lines
Michal Hocko
SUSE Labs