From 21b6115a3f6271fa34fa321a6f9d3b8f980287b9 Mon Sep 17 00:00:00 2001 From: jxiong Date: Fri, 20 Feb 2009 08:14:51 +0000 Subject: [PATCH] b=17084 - merge md-soft-lockups.patch to raid5-merge-ios.patch - rename md-mmp-unplug-dev-*.patch to raid5-mmp-unplug-dev-*.patch --- .../kernel_patches/patches/md-soft-lockups.patch | 13 -------- .../patches/raid5-merge-ios-rhel5.patch | 13 +++++--- .../kernel_patches/patches/raid5-merge-ios.patch | 37 +++++++++++----------- ...s10.patch => raid5-mmp-unplug-dev-sles10.patch} | 0 ...unplug-dev.patch => raid5-mmp-unplug-dev.patch} | 0 lustre/kernel_patches/series/2.6-rhel5.series | 3 +- lustre/kernel_patches/series/2.6-sles10.series | 2 +- lustre/kernel_patches/series/2.6.22-vanilla.series | 2 +- 8 files changed, 30 insertions(+), 40 deletions(-) delete mode 100644 lustre/kernel_patches/patches/md-soft-lockups.patch rename lustre/kernel_patches/patches/{md-mmp-unplug-dev-sles10.patch => raid5-mmp-unplug-dev-sles10.patch} (100%) rename lustre/kernel_patches/patches/{md-mmp-unplug-dev.patch => raid5-mmp-unplug-dev.patch} (100%) diff --git a/lustre/kernel_patches/patches/md-soft-lockups.patch b/lustre/kernel_patches/patches/md-soft-lockups.patch deleted file mode 100644 index cde9a34..0000000 --- a/lustre/kernel_patches/patches/md-soft-lockups.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: linux-2.6.18-92.1.10/drivers/md/raid5.c -=================================================================== ---- linux-2.6.18-92.1.10.orig/drivers/md/raid5.c 2008-11-10 11:00:51.000000000 +0900 -+++ linux-2.6.18-92.1.10/drivers/md/raid5.c 2008-11-10 11:02:38.000000000 +0900 -@@ -3251,6 +3251,8 @@ - handle_stripe(sh, conf->spare_page, NULL); - release_stripe(sh); - -+ cond_resched(); -+ - spin_lock_irq(&conf->device_lock); - } - PRINTK("%d stripes handled\n", handled); diff --git a/lustre/kernel_patches/patches/raid5-merge-ios-rhel5.patch b/lustre/kernel_patches/patches/raid5-merge-ios-rhel5.patch index decf7a4..f4eb3b9 100644 --- a/lustre/kernel_patches/patches/raid5-merge-ios-rhel5.patch +++ b/lustre/kernel_patches/patches/raid5-merge-ios-rhel5.patch @@ -1,7 +1,6 @@ -Index: linux-2.6.18-92.1.17/drivers/md/raid5.c -=================================================================== ---- linux-2.6.18-92.1.17.orig/drivers/md/raid5.c -+++ linux-2.6.18-92.1.17/drivers/md/raid5.c +diff -pur b/drivers/md/raid5.c a/drivers/md/raid5.c +--- b/drivers/md/raid5.c 2009-02-20 15:56:36.000000000 +0800 ++++ a/drivers/md/raid5.c 2009-02-20 15:57:49.000000000 +0800 @@ -1277,7 +1277,26 @@ static void compute_block_2(struct strip } } @@ -175,7 +174,7 @@ Index: linux-2.6.18-92.1.17/drivers/md/raid5.c release_stripe(sh); return STRIPE_SECTORS; -@@ -3091,7 +3128,7 @@ static void raid5d (mddev_t *mddev) +@@ -3091,9 +3128,11 @@ static void raid5d (mddev_t *mddev) handled++; atomic_inc(&conf->handled_in_raid5d); @@ -183,4 +182,8 @@ Index: linux-2.6.18-92.1.17/drivers/md/raid5.c + handle_stripe(sh, conf->spare_page, NULL); release_stripe(sh); ++ cond_resched(); ++ spin_lock_irq(&conf->device_lock); + } + PRINTK("%d stripes handled\n", handled); diff --git a/lustre/kernel_patches/patches/raid5-merge-ios.patch b/lustre/kernel_patches/patches/raid5-merge-ios.patch index 3f5cbbc..c95beab 100644 --- a/lustre/kernel_patches/patches/raid5-merge-ios.patch +++ b/lustre/kernel_patches/patches/raid5-merge-ios.patch @@ -1,10 +1,7 @@ -Merge IO requests to try and get larger requests on underlying drives. - -Index: linux-2.6.9/drivers/md/raid5.c -=================================================================== ---- linux-2.6.9.orig/drivers/md/raid5.c 2006-05-22 00:10:04.000000000 +0400 -+++ linux-2.6.9/drivers/md/raid5.c 2006-05-22 00:10:06.000000000 +0400 -@@ -934,6 +934,26 @@ static void add_stripe_bio (struct strip +diff -pur linux-2.6.9-67.orig/drivers/md/raid5.c linux-2.6.9-67/drivers/md/raid5.c +--- linux-2.6.9-67.orig/drivers/md/raid5.c 2009-02-20 16:06:12.000000000 +0800 ++++ linux-2.6.9-67/drivers/md/raid5.c 2009-02-20 16:06:37.000000000 +0800 +@@ -852,6 +852,26 @@ static void add_stripe_bio (struct strip } } @@ -31,7 +28,7 @@ Index: linux-2.6.9/drivers/md/raid5.c /* * handle_stripe - do things to a stripe. -@@ -953,7 +973,7 @@ static void add_stripe_bio (struct strip +@@ -871,7 +891,7 @@ static void add_stripe_bio (struct strip * */ @@ -40,7 +37,7 @@ Index: linux-2.6.9/drivers/md/raid5.c { raid5_conf_t *conf = sh->raid_conf; int disks = conf->raid_disks; -@@ -1376,7 +1396,11 @@ static void handle_stripe(struct stripe_ +@@ -1291,7 +1311,11 @@ static void handle_stripe(struct stripe_ bi->bi_size = STRIPE_SIZE; bi->bi_next = NULL; atomic_inc(&conf->out_reqs_in_queue); @@ -53,23 +50,23 @@ Index: linux-2.6.9/drivers/md/raid5.c } else { PRINTK("skip op %ld on disc %d for sector %llu\n", bi->bi_rw, i, (unsigned long long)sh->sector); -@@ -1501,6 +1525,7 @@ static int make_request (request_queue_t +@@ -1416,6 +1440,7 @@ static int make_request (request_queue_t int sectors_per_chunk = conf->chunk_size >> 9; int stripes_per_chunk, sectors_per_block; int sectors_per_stripe; + struct bio *bios[MD_SB_DISKS]; int i, j; - atomic_inc(&conf->in_reqs_in_queue); -@@ -1530,6 +1555,7 @@ static int make_request (request_queue_t + if (unlikely(bio_barrier(bi))) { +@@ -1450,6 +1475,7 @@ static int make_request (request_queue_t sector_div(block, sectors_per_block); sectors = bi->bi_size >> 9; + memset(&bios, 0, sizeof(bios)); repeat: - stripe = block * sectors_per_block / data_disks; + stripe = block * (sectors_per_block / data_disks); b_sector = stripe * data_disks; -@@ -1549,9 +1575,17 @@ repeat: +@@ -1469,9 +1495,17 @@ repeat: new_sector = raid5_compute_sector(r_sector, raid_disks, data_disks, &dd_idx, &pd_idx, conf); @@ -90,7 +87,7 @@ Index: linux-2.6.9/drivers/md/raid5.c if (sh) { add_stripe_bio(sh, bi, dd_idx, (bi->bi_rw&RW_MASK)); } else { -@@ -1571,7 +1605,7 @@ repeat: +@@ -1491,7 +1525,7 @@ repeat: } if (sh) { raid5_plug_device(conf); @@ -99,7 +96,7 @@ Index: linux-2.6.9/drivers/md/raid5.c release_stripe(sh); sh = NULL; } -@@ -1581,6 +1615,9 @@ repeat: +@@ -1501,6 +1535,9 @@ repeat: if (sectors > 0) goto repeat; @@ -109,7 +106,7 @@ Index: linux-2.6.9/drivers/md/raid5.c spin_lock_irq(&conf->device_lock); if (--bi->bi_phys_segments == 0) { int bytes = bi->bi_size; -@@ -1636,7 +1673,7 @@ static int sync_request (mddev_t *mddev, +@@ -1556,7 +1593,7 @@ static int sync_request (mddev_t *mddev, clear_bit(STRIPE_INSYNC, &sh->state); spin_unlock(&sh->lock); @@ -118,7 +115,7 @@ Index: linux-2.6.9/drivers/md/raid5.c release_stripe(sh); return STRIPE_SECTORS; -@@ -1685,7 +1722,7 @@ static void raid5d (mddev_t *mddev) +@@ -1605,9 +1642,11 @@ static void raid5d (mddev_t *mddev) handled++; atomic_inc(&conf->handled_in_raid5d); @@ -126,4 +123,8 @@ Index: linux-2.6.9/drivers/md/raid5.c + handle_stripe(sh, NULL); release_stripe(sh); ++ cond_resched(); ++ spin_lock_irq(&conf->device_lock); + } + PRINTK("%d stripes handled\n", handled); diff --git a/lustre/kernel_patches/patches/md-mmp-unplug-dev-sles10.patch b/lustre/kernel_patches/patches/raid5-mmp-unplug-dev-sles10.patch similarity index 100% rename from lustre/kernel_patches/patches/md-mmp-unplug-dev-sles10.patch rename to lustre/kernel_patches/patches/raid5-mmp-unplug-dev-sles10.patch diff --git a/lustre/kernel_patches/patches/md-mmp-unplug-dev.patch b/lustre/kernel_patches/patches/raid5-mmp-unplug-dev.patch similarity index 100% rename from lustre/kernel_patches/patches/md-mmp-unplug-dev.patch rename to lustre/kernel_patches/patches/raid5-mmp-unplug-dev.patch diff --git a/lustre/kernel_patches/series/2.6-rhel5.series b/lustre/kernel_patches/series/2.6-rhel5.series index 97060fd..16831b3 100644 --- a/lustre/kernel_patches/series/2.6-rhel5.series +++ b/lustre/kernel_patches/series/2.6-rhel5.series @@ -18,7 +18,6 @@ raid5-stripe-by-stripe-handling-rhel5.patch raid5-merge-ios-rhel5.patch raid5-zerocopy-rhel5.patch md-rebuild-policy.patch -md-soft-lockups.patch jbd-journal-chksum-2.6.18-vanilla.patch quota-large-limits-rhel5.patch -md-mmp-unplug-dev.patch +raid5-mmp-unplug-dev.patch diff --git a/lustre/kernel_patches/series/2.6-sles10.series b/lustre/kernel_patches/series/2.6-sles10.series index 2e2325f..182a3d0 100644 --- a/lustre/kernel_patches/series/2.6-sles10.series +++ b/lustre/kernel_patches/series/2.6-sles10.series @@ -14,4 +14,4 @@ jbd-journal-chksum-2.6-sles10.patch proc-sleep-2.6.16-sles10.patch export-nr_free_buffer_pages.patch quota-large-limits-sles10.patch -md-mmp-unplug-dev-sles10.patch +raid5-mmp-unplug-dev-sles10.patch diff --git a/lustre/kernel_patches/series/2.6.22-vanilla.series b/lustre/kernel_patches/series/2.6.22-vanilla.series index 6fad0bd..12db55e 100644 --- a/lustre/kernel_patches/series/2.6.22-vanilla.series +++ b/lustre/kernel_patches/series/2.6.22-vanilla.series @@ -12,4 +12,4 @@ export-2.6.18-vanilla.patch export-show_task-2.6.18-vanilla.patch sd_iostats-2.6.22-vanilla.patch quota-large-limits-rhel5.patch -md-mmp-unplug-dev.patch +raid5-mmp-unplug-dev.patch -- 1.8.3.1