[PATCH] Decrease number of pointer derefs in multipath.c

From: Jesper Juhl
Date: Thu Dec 08 2005 - 17:36:44 EST


Hi,

Here's a small patch to decrease the number of pointer derefs in
drivers/md/multipath.c

Benefits of the patch:
- Fewer pointer dereferences should make the code slightly faster.
- Size of generated code is smaller
- improved readability

Please consider applying.


Signed-off-by: Jesper Juhl <jesper.juhl@xxxxxxxxx>
---

drivers/md/multipath.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)

orig:
text data bss dec hex filename
3747 68 0 3815 ee7 drivers/md/multipath.o

patched:
text data bss dec hex filename
3736 68 0 3804 edc drivers/md/multipath.o

--- linux-2.6.15-rc5-git1-orig/drivers/md/multipath.c 2005-12-04 18:47:49.000000000 +0100
+++ linux-2.6.15-rc5-git1/drivers/md/multipath.c 2005-12-08 21:30:57.000000000 +0100
@@ -308,6 +308,7 @@ static void print_multipath_conf (multip
static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
{
multipath_conf_t *conf = mddev->private;
+ struct request_queue *q;
int found = 0;
int path;
struct multipath_info *p;
@@ -316,8 +317,8 @@ static int multipath_add_disk(mddev_t *m

for (path=0; path<mddev->raid_disks; path++)
if ((p=conf->multipaths+path)->rdev == NULL) {
- blk_queue_stack_limits(mddev->queue,
- rdev->bdev->bd_disk->queue);
+ q = rdev->bdev->bd_disk->queue;
+ blk_queue_stack_limits(mddev->queue, q);

/* as we don't honour merge_bvec_fn, we must never risk
* violating it, so limit ->max_sector to one PAGE, as
@@ -325,7 +326,7 @@ static int multipath_add_disk(mddev_t *m
* (Note: it is very unlikely that a device with
* merge_bvec_fn will be involved in multipath.)
*/
- if (rdev->bdev->bd_disk->queue->merge_bvec_fn &&
+ if (q->merge_bvec_fn &&
mddev->queue->max_sectors > (PAGE_SIZE>>9))
blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9);



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/