Messages in this thread | | | Date | Fri, 9 Mar 2012 13:20:49 -0800 | From | Tejun Heo <> | Subject | Re: workqueues and percpu (was: [PATCH] dm: remake of the verity target) |
| |
Hello,
On Fri, Mar 09, 2012 at 01:15:12PM -0800, Mandeep Singh Baines wrote: > In this case, I need the per-cpu data for the duration of calculating > a cryptographics hash on a 4K page of data. That's a long time to disable > pre-emption.
How long are we talking about? Tens of microsecs, tens of millisecs?
> I could fix the bug temporarily by adding get/put for the per_cpu data > but would that be acceptable? I'm not sure what the OK limit is for how > long one can disable preemption. An alternative fix would be not allow > CONFIG_VERITY when CONFIG_HOTPLUG_CPU. Once workqueues are fixed, I could > remove that restriction.
I think the right thing to do for now is to add cpu hotplug notifier and do flush_work_sync() on the work item. We can later move that logic into workqueue and remove it from crypto.
Thanks.
-- tejun
| |