[Patch 7/8] Enhanced partition statistics: procfs - Kernel

This is a discussion on [Patch 7/8] Enhanced partition statistics: procfs - Kernel ; Reports enhanced partition statistics in /proc/diskstats. Signed-off-by: Jerome Marchand --- genhd.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff -urNp -X linux-2.6/Documentation/dontdiff linux-2.6.orig/block/genhd.c linux-2.6/block/genhd.c --- linux-2.6.orig/block/genhd.c 2007-12-04 17:37:31.000000000 +0100 +++ linux-2.6/block/genhd.c 2007-12-05 13:52:55.000000000 +0100 @@ -655,12 +655,27 ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: [Patch 7/8] Enhanced partition statistics: procfs

  1. [Patch 7/8] Enhanced partition statistics: procfs

    Reports enhanced partition statistics in /proc/diskstats.

    Signed-off-by: Jerome Marchand
    ---
    genhd.c | 27 +++++++++++++++++++++------
    1 file changed, 21 insertions(+), 6 deletions(-)
    diff -urNp -X linux-2.6/Documentation/dontdiff linux-2.6.orig/block/genhd.c linux-2.6/block/genhd.c
    --- linux-2.6.orig/block/genhd.c 2007-12-04 17:37:31.000000000 +0100
    +++ linux-2.6/block/genhd.c 2007-12-05 13:52:55.000000000 +0100
    @@ -655,12 +655,27 @@ static int diskstats_show(struct seq_fil
    for (n = 0; n < gp->minors - 1; n++) {
    struct hd_struct *hd = gp->part[n];

    - if (hd && hd->nr_sects)
    - seq_printf(s, "%4d %4d %s %u %u %u %u\n",
    - gp->major, n + gp->first_minor + 1,
    - disk_name(gp, n + 1, buf),
    - hd->ios[0], hd->sectors[0],
    - hd->ios[1], hd->sectors[1]);
    + if (!hd || !hd->nr_sects) continue;
    +
    + preempt_disable();
    + part_round_stats(hd);
    + preempt_enable();
    + seq_printf(s, "%4d %4d %s %lu %lu %llu "
    + "%u %lu %lu %llu %u %u %u %u\n",
    + gp->major, n + gp->first_minor + 1,
    + disk_name(gp, n + 1, buf),
    + part_stat_read(hd, ios[0]),
    + part_stat_read(hd, merges[0]),
    + (unsigned long long)part_stat_read(hd, sectors[0]),
    + jiffies_to_msecs(part_stat_read(hd, ticks[0])),
    + part_stat_read(hd, ios[1]),
    + part_stat_read(hd, merges[1]),
    + (unsigned long long)part_stat_read(hd, sectors[1]),
    + jiffies_to_msecs(part_stat_read(hd, ticks[1])),
    + hd->in_flight,
    + jiffies_to_msecs(part_stat_read(hd, io_ticks)),
    + jiffies_to_msecs(part_stat_read(hd, time_in_queue))
    + );
    }

    return 0;

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

  2. Re: [Patch 7/8] Enhanced partition statistics: procfs

    On Thu, 13 Dec 2007 17:18:04 +0100 Jerome Marchand wrote:

    > Reports enhanced partition statistics in /proc/diskstats.


    > Signed-off-by: Jerome Marchand
    > ---
    > genhd.c | 27 +++++++++++++++++++++------
    > 1 file changed, 21 insertions(+), 6 deletions(-)
    > diff -urNp -X linux-2.6/Documentation/dontdiff linux-2.6.orig/block/genhd.c linux-2.6/block/genhd.c
    > --- linux-2.6.orig/block/genhd.c 2007-12-04 17:37:31.000000000 +0100
    > +++ linux-2.6/block/genhd.c 2007-12-05 13:52:55.000000000 +0100
    > @@ -655,12 +655,27 @@ static int diskstats_show(struct seq_fil
    > for (n = 0; n < gp->minors - 1; n++) {
    > struct hd_struct *hd = gp->part[n];
    >
    > - if (hd && hd->nr_sects)
    > - seq_printf(s, "%4d %4d %s %u %u %u %u\n",
    > - gp->major, n + gp->first_minor + 1,
    > - disk_name(gp, n + 1, buf),
    > - hd->ios[0], hd->sectors[0],
    > - hd->ios[1], hd->sectors[1]);
    > + if (!hd || !hd->nr_sects) continue;


    Don't put if () and following statement on same line.

    > +
    > + preempt_disable();
    > + part_round_stats(hd);
    > + preempt_enable();
    > + seq_printf(s, "%4d %4d %s %lu %lu %llu "
    > + "%u %lu %lu %llu %u %u %u %u\n",
    > + gp->major, n + gp->first_minor + 1,
    > + disk_name(gp, n + 1, buf),
    > + part_stat_read(hd, ios[0]),
    > + part_stat_read(hd, merges[0]),
    > + (unsigned long long)part_stat_read(hd, sectors[0]),
    > + jiffies_to_msecs(part_stat_read(hd, ticks[0])),
    > + part_stat_read(hd, ios[1]),
    > + part_stat_read(hd, merges[1]),
    > + (unsigned long long)part_stat_read(hd, sectors[1]),
    > + jiffies_to_msecs(part_stat_read(hd, ticks[1])),
    > + hd->in_flight,
    > + jiffies_to_msecs(part_stat_read(hd, io_ticks)),
    > + jiffies_to_msecs(part_stat_read(hd, time_in_queue))
    > + );
    > }
    >
    > return 0;
    >
    > --


    The format of the /proc file is not changed except to add data
    at the end of each line. Is that correct?

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

  3. Re: [Patch 7/8] Enhanced partition statistics: procfs

    Randy Dunlap wrote:
    >
    > The format of the /proc file is not changed except to add data
    > at the end of each line. Is that correct?
    >


    No. The line concerning partitions will display different data. The new format match the current format
    concerning disks.

    Current partition format:
    major minor name reads_issued sectors_read writes_issued sectors_written

    New partition format (current disk format):
    major minor name reads_issued reads_merged sector_read ms_reading writes_completed writes_merged sectors_written ms_writing I/Os_running ms_I/O weighted_ms_I/O

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

  4. Re: [Patch 7/8] Enhanced partition statistics: procfs

    On Thu, 13 Dec 2007 18:36:45 +0100 Jerome Marchand wrote:

    > Randy Dunlap wrote:
    > >
    > > The format of the /proc file is not changed except to add data
    > > at the end of each line. Is that correct?
    > >

    >
    > No. The line concerning partitions will display different data. The new format match the current format
    > concerning disks.
    >
    > Current partition format:
    > major minor name reads_issued sectors_read writes_issued sectors_written
    >
    > New partition format (current disk format):
    > major minor name reads_issued reads_merged sector_read ms_reading writes_completed writes_merged sectors_written ms_writing I/Os_running ms_I/O weighted_ms_I/O



    I would have expected the /proc file contents to represent a user
    interface that we shouldn't change, other than by adding to the end
    of each line.


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

  5. Re: [Patch 7/8] Enhanced partition statistics: procfs

    Randy Dunlap wrote:
    > On Thu, 13 Dec 2007 18:36:45 +0100 Jerome Marchand wrote:
    >
    >> Randy Dunlap wrote:
    >>> The format of the /proc file is not changed except to add data
    >>> at the end of each line. Is that correct?
    >>>

    >> No. The line concerning partitions will display different data. The new format match the current format
    >> concerning disks.
    >>
    >> Current partition format:
    >> major minor name reads_issued sectors_read writes_issued sectors_written
    >>
    >> New partition format (current disk format):
    >> major minor name reads_issued reads_merged sector_read ms_reading writes_completed writes_merged sectors_written ms_writing I/Os_running ms_I/O weighted_ms_I/O

    >
    >
    > I would have expected the /proc file contents to represent a user
    > interface that we shouldn't change, other than by adding to the end
    > of each line.
    >


    I could eventually keep the old data and add the new ones at the end
    of the line, but it will leads to a less coherent interface. Moreover
    all the users of /proc/diskstats I know about use the number of field
    to make the distinction between current disk and partitions
    format. They all will be confused if we add new fields.

    Jérôme

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

+ Reply to Thread