dm snapshot: optimize track_chunk
authorMikulas Patocka <mpatocka@redhat.com>
Fri, 21 Dec 2012 20:23:33 +0000 (20:23 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Fri, 21 Dec 2012 20:23:33 +0000 (20:23 +0000)
track_chunk is always called with interrupts enabled. Consequently, we
do not need to save and restore interrupt state in "flags" variable.
This patch changes spin_lock_irqsave to spin_lock_irq and
spin_unlock_irqrestore to spin_unlock_irq.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-snap.c

index a143921feaf6480119f77d4f8600aefc98c7b583..223e7ebf24f7e7f4198a49bba48615885c719e20 100644 (file)
@@ -198,14 +198,13 @@ static struct dm_snap_tracked_chunk *track_chunk(struct dm_snapshot *s,
 {
        struct dm_snap_tracked_chunk *c = mempool_alloc(s->tracked_chunk_pool,
                                                        GFP_NOIO);
-       unsigned long flags;
 
        c->chunk = chunk;
 
-       spin_lock_irqsave(&s->tracked_chunk_lock, flags);
+       spin_lock_irq(&s->tracked_chunk_lock);
        hlist_add_head(&c->node,
                       &s->tracked_chunk_hash[DM_TRACKED_CHUNK_HASH(chunk)]);
-       spin_unlock_irqrestore(&s->tracked_chunk_lock, flags);
+       spin_unlock_irq(&s->tracked_chunk_lock);
 
        return c;
 }