aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/power/swap.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2006-12-06 23:34:32 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 11:39:28 -0500
commit0d3a9abe8ae055e1052295698bcd0722c92eff47 (patch)
tree84225335704f0989a1556ba093732e023618b8f6 /kernel/power/swap.c
parent112cecb2cc0e7341db92281ba04b26c41bb8146d (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.c24
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
136static 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