On Mon, 2006-11-20 at 14:27 +0000, David Howells wrote:> The workqueue struct is huge, and this limits it's usefulness. On a 64-bit> architecture it's nearly 100 bytes in size, of which the timer_list is half.> These patches shrink work_struct by 8 of the 12 words it ordinarily consumes.> This is done by:> > (1) Splitting the timer out so that delayable work items are defined by a> separate structure which incorporates a basic work_struct and a timer.

Why not simply add a timer argument to 'queue_delayed_work()' and'cancel_delayed_work()'? That may allow you to reuse an existing timerstruct if you already have it embedded somewhere else.