Re: [RFC] timers, pointers to functions and type safety

From: David Howells
Date: Mon Dec 04 2006 - 08:05:27 EST


Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:

> I assume you wanted to delete "data" ?

Yes.

> Your premise is two timer_lists which use one common handler.
>
> struct foo {
> struct timer_list timer1;
> strucr timer_list timer2;
> };

That's not what I was thinking of. I was thinking of something much simpler:

struct foo {
struct timer_list timer;
};


...
struct foo *a = kmalloc(sizeof(struct foo), GFP_KERNEL);
a->timer.fn = do_foo_timer;
...
struct foo *b = kmalloc(sizeof(struct foo), GFP_KERNEL);
b->timer.fn = do_foo_timer;
...
struct foo *c = kmalloc(sizeof(struct foo), GFP_KERNEL);
c->timer.fn = do_foo_timer;
...
struct foo *d = kmalloc(sizeof(struct foo), GFP_KERNEL);
d->timer.fn = do_foo_timer;
...

You've now got four copies of struct timer_list, but only one handler.

David
-
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/