Whamcloud - gitweb
b=17084
authorjxiong <jxiong>
Fri, 20 Feb 2009 08:14:51 +0000 (08:14 +0000)
committerjxiong <jxiong>
Fri, 20 Feb 2009 08:14:51 +0000 (08:14 +0000)
- merge md-soft-lockups.patch to raid5-merge-ios.patch
- rename md-mmp-unplug-dev-*.patch to raid5-mmp-unplug-dev-*.patch

lustre/kernel_patches/patches/md-soft-lockups.patch [deleted file]
lustre/kernel_patches/patches/raid5-merge-ios-rhel5.patch
lustre/kernel_patches/patches/raid5-merge-ios.patch
lustre/kernel_patches/patches/raid5-mmp-unplug-dev-sles10.patch [moved from lustre/kernel_patches/patches/md-mmp-unplug-dev-sles10.patch with 100% similarity]
lustre/kernel_patches/patches/raid5-mmp-unplug-dev.patch [moved from lustre/kernel_patches/patches/md-mmp-unplug-dev.patch with 100% similarity]
lustre/kernel_patches/series/2.6-rhel5.series
lustre/kernel_patches/series/2.6-sles10.series
lustre/kernel_patches/series/2.6.22-vanilla.series

diff --git a/lustre/kernel_patches/patches/md-soft-lockups.patch b/lustre/kernel_patches/patches/md-soft-lockups.patch
deleted file mode 100644 (file)
index cde9a34..0000000
+++ /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);
index decf7a4..f4eb3b9 100644 (file)
@@ -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);
index 3f5cbbc..c95beab 100644 (file)
@@ -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);
index 97060fd..16831b3 100644 (file)
@@ -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
index 2e2325f..182a3d0 100644 (file)
@@ -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
index 6fad0bd..12db55e 100644 (file)
@@ -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