Messages in this thread | | | Subject | Re: [RFC 1/3] Unified NMI delayed call mechanism | From | Peter Zijlstra <> | Date | Fri, 18 Jun 2010 15:24:53 +0200 |
| |
On Fri, 2010-06-18 at 15:23 +0200, Andi Kleen wrote: > On Fri, Jun 18, 2010 at 03:12:49PM +0200, Peter Zijlstra wrote: > > On Fri, 2010-06-18 at 15:09 +0200, Andi Kleen wrote: > > > > You generally want to pass more information along anyway, now your > > > > callback function needs to go look for it. Much better to pass a > > > > work_struct like thing around that is contained in the state it needs. > > > > > > But how would you allocate the work queue in an NMI? > > > > > > If it's only a single instance (like this bit) it can be always put > > > into a per cpu variable. > > > > Pre-allocate. For the perf-event stuff we use the perf_event allocated > > at creation time. But yeah, per-cpu storage also works. > > So you could just preallocate the bits instead ?
You mean the bits in your function array? Those are limited to 32 and you'd need a secondary lookup to match them to your data object, not very useful.
| |