Re: [PATCH] Fix posix_bump_timer args

From: randy_dunlap
Date: Wed Jul 06 2005 - 20:44:02 EST


On Wed, 06 Jul 2005 11:26:31 -0700 Geoff Levand wrote:

| This patch makes posix_bump_timer() consistent with common convention
| by expecting a pointer to the structure be passed.
|
| Please apply.

Does it matter other than for consistency?

E.g., in a large system with thousands of timers, it seems that it
could (at least theoretically) have a negative impact by using a
pointer dereference instead of a known fixed address.
or am I just imagining that?

Thanks,
~Randy

| Signed-off-by: Geoff Levand <geoffrey.levand@xxxxxxxxxxx> for CELF
|
| --
| --- linux-2.6.12.1.orig/include/linux/posix-timers.h 2005-06-17 12:48:29.000000000 -0700
| +++ linux-2.6.12.1/include/linux/posix-timers.h.bump 2005-07-06 10:58:52.000000000 -0700
| @@ -108,7 +108,7 @@
| #define posix_bump_timer(timr, now) \
| do { \
| long delta, orun; \
| - delta = now.jiffies - (timr)->it.real.timer.expires; \
| + delta = (now)->jiffies - (timr)->it.real.timer.expires; \
| if (delta >= 0) { \
| orun = 1 + (delta / (timr)->it.real.incr); \
| (timr)->it.real.timer.expires += \
|
| --- linux-2.6.12.1.orig/kernel/posix-timers.c 2005-06-17 12:48:29.000000000 -0700
| +++ linux-2.6.12.1/kernel/posix-timers.c.bump 2005-07-06 10:54:48.000000000 -0700
| @@ -384,11 +384,11 @@
| spin_lock(&abs_list.lock);
| add_clockset_delta(timr, &new_wall_to);
|
| - posix_bump_timer(timr, now);
| + posix_bump_timer(timr, &now);
|
| spin_unlock(&abs_list.lock);
| } else {
| - posix_bump_timer(timr, now);
| + posix_bump_timer(timr, &now);
| }
| timr->it_overrun_last = timr->it_overrun;
| timr->it_overrun = -1;
| @@ -810,7 +810,7 @@
| if (expires) {
| if (timr->it_requeue_pending & REQUEUE_PENDING ||
| (timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE) {
| - posix_bump_timer(timr, now);
| + posix_bump_timer(timr, &now);
| expires = timr->it.real.timer.expires;
| }
| else
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/