This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / linux / genhd.h
index ddde66a..749992d 100644 (file)
@@ -28,7 +28,6 @@ enum {
        LINUX_RAID_PARTITION = 0xfd,    /* autodetect RAID partition */
 
        SOLARIS_X86_PARTITION = LINUX_SWAP_PARTITION,
-       NEW_SOLARIS_X86_PARTITION = 0xbf,
 
        DM6_AUX1PARTITION = 0x51,       /* no DDO:  use xlated geom */
        DM6_AUX3PARTITION = 0x53,       /* no DDO:  use xlated geom */
@@ -130,14 +129,13 @@ struct gendisk {
 
 /* 
  * Macros to operate on percpu disk statistics:
- *
- * The __ variants should only be called in critical sections. The full
- * variants disable/enable preemption.
+ * Since writes to disk_stats are serialised through the queue_lock,
+ * smp_processor_id() should be enough to get to the per_cpu versions
+ * of statistics counters
  */
 #ifdef CONFIG_SMP
-#define __disk_stat_add(gendiskp, field, addnd)        \
+#define disk_stat_add(gendiskp, field, addnd)  \
        (per_cpu_ptr(gendiskp->dkstats, smp_processor_id())->field += addnd)
-
 #define disk_stat_read(gendiskp, field)                                        \
 ({                                                                     \
        typeof(gendiskp->dkstats->field) res = 0;                       \
@@ -161,8 +159,7 @@ static inline void disk_stat_set_all(struct gendisk *gendiskp, int value)   {
 }              
                                
 #else
-#define __disk_stat_add(gendiskp, field, addnd) \
-                               (gendiskp->dkstats.field += addnd)
+#define disk_stat_add(gendiskp, field, addnd) (gendiskp->dkstats.field += addnd)
 #define disk_stat_read(gendiskp, field)        (gendiskp->dkstats.field)
 
 static inline void disk_stat_set_all(struct gendisk *gendiskp, int value)      {
@@ -170,21 +167,8 @@ static inline void disk_stat_set_all(struct gendisk *gendiskp, int value)  {
 }
 #endif
 
-#define disk_stat_add(gendiskp, field, addnd)                  \
-       do {                                                    \
-               preempt_disable();                              \
-               __disk_stat_add(gendiskp, field, addnd);        \
-               preempt_enable();                               \
-       } while (0)
-
-#define __disk_stat_dec(gendiskp, field) __disk_stat_add(gendiskp, field, -1)
-#define disk_stat_dec(gendiskp, field) disk_stat_add(gendiskp, field, -1)
-
-#define __disk_stat_inc(gendiskp, field) __disk_stat_add(gendiskp, field, 1)
 #define disk_stat_inc(gendiskp, field) disk_stat_add(gendiskp, field, 1)
-
-#define __disk_stat_sub(gendiskp, field, subnd) \
-               __disk_stat_add(gendiskp, field, -subnd)
+#define disk_stat_dec(gendiskp, field) disk_stat_add(gendiskp, field, -1)
 #define disk_stat_sub(gendiskp, field, subnd) \
                disk_stat_add(gendiskp, field, -subnd)