From 40b4bb01cd1023f191e4fabf894b83c4d2441801 Mon Sep 17 00:00:00 2001 From: Izik Eidus <ieidus@redhat.com> Date: Tue, 30 Jun 2009 18:18:00 +0300 Subject: [PATCH] fix bug #506375 This patch fix bug #506375 by adding cond_resched() >From a0d889214acdafe1673f3afa4985600e345b0684 Mon Sep 17 00:00:00 2001 From: Izik Eidus <ieidus@redhat.com> Date: Wed, 17 Jun 2009 01:15:55 -0400 Subject: [PATCH] ksm: fix bug #506375 - add cond_resched() This patch fix bug #506375 by adding cond_resched() Thanks. Signed-off-by: Izik Eidus <ieidus@redhat.com> Message-ID: <4A4A2CA8.1040403@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Bugzilla: 506375 RH-Upstream-status: not-applicable Acked-by: Andrea Arcangeli <aarcange@redhat.com> Acked-by: Glauber Costa <glommer@redhat.com> Acked-by: Marcelo Tosatti <mtosatti@redhat.com> --- kernel/ksm/ksm_main.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/kernel/ksm/ksm_main.c b/kernel/ksm/ksm_main.c index 494ce3e..0878613 100644 --- a/kernel/ksm/ksm_main.c +++ b/kernel/ksm/ksm_main.c @@ -354,9 +354,11 @@ static void remove_mm_from_hash_and_tree(struct mm_struct *mm) BUG_ON(!slot); root_unstable_tree = RB_ROOT; - for (pages_count = 0; pages_count < slot->npages; ++pages_count) + for (pages_count = 0; pages_count < slot->npages; ++pages_count) { + cond_resched(); remove_page_from_tree(mm, slot->addr + pages_count * PAGE_SIZE); + } list_del(&slot->link); } -- 1.6.3.rc4.29.g8146