diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2006-12-06 23:34:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:28 -0500 |
commit | 0d3a9abe8ae055e1052295698bcd0722c92eff47 (patch) | |
tree | 84225335704f0989a1556ba093732e023618b8f6 /kernel/power/swap.c | |
parent | 112cecb2cc0e7341db92281ba04b26c41bb8146d (diff) |
[PATCH] swsusp: Measure memory shrinking time
Make swsusp measure and print the time needed to shrink memory during the
suspend.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Nigel Cunningham <nigel@suspend2.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/power/swap.c')
-rw-r--r-- | kernel/power/swap.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/kernel/power/swap.c b/kernel/power/swap.c index 52e70ca832a8..dedf8797b723 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c | |||
@@ -133,26 +133,6 @@ static int wait_on_bio_chain(struct bio **bio_chain) | |||
133 | return ret; | 133 | return ret; |
134 | } | 134 | } |
135 | 135 | ||
136 | static void show_speed(struct timeval *start, struct timeval *stop, | ||
137 | unsigned nr_pages, char *msg) | ||
138 | { | ||
139 | s64 elapsed_centisecs64; | ||
140 | int centisecs; | ||
141 | int k; | ||
142 | int kps; | ||
143 | |||
144 | elapsed_centisecs64 = timeval_to_ns(stop) - timeval_to_ns(start); | ||
145 | do_div(elapsed_centisecs64, NSEC_PER_SEC / 100); | ||
146 | centisecs = elapsed_centisecs64; | ||
147 | if (centisecs == 0) | ||
148 | centisecs = 1; /* avoid div-by-zero */ | ||
149 | k = nr_pages * (PAGE_SIZE / 1024); | ||
150 | kps = (k * 100) / centisecs; | ||
151 | printk("%s %d kbytes in %d.%02d seconds (%d.%02d MB/s)\n", msg, k, | ||
152 | centisecs / 100, centisecs % 100, | ||
153 | kps / 1000, (kps % 1000) / 10); | ||
154 | } | ||
155 | |||
156 | /* | 136 | /* |
157 | * Saving part | 137 | * Saving part |
158 | */ | 138 | */ |
@@ -375,7 +355,7 @@ static int save_image(struct swap_map_handle *handle, | |||
375 | error = err2; | 355 | error = err2; |
376 | if (!error) | 356 | if (!error) |
377 | printk("\b\b\b\bdone\n"); | 357 | printk("\b\b\b\bdone\n"); |
378 | show_speed(&start, &stop, nr_to_write, "Wrote"); | 358 | swsusp_show_speed(&start, &stop, nr_to_write, "Wrote"); |
379 | return error; | 359 | return error; |
380 | } | 360 | } |
381 | 361 | ||
@@ -562,7 +542,7 @@ static int load_image(struct swap_map_handle *handle, | |||
562 | if (!snapshot_image_loaded(snapshot)) | 542 | if (!snapshot_image_loaded(snapshot)) |
563 | error = -ENODATA; | 543 | error = -ENODATA; |
564 | } | 544 | } |
565 | show_speed(&start, &stop, nr_to_read, "Read"); | 545 | swsusp_show_speed(&start, &stop, nr_to_read, "Read"); |
566 | return error; | 546 | return error; |
567 | } | 547 | } |
568 | 548 | ||