* workqueue flush_work() patches
@ 2008-06-27 17:40 Max Krasnyansky
2008-06-27 17:56 ` Oleg Nesterov
0 siblings, 1 reply; 3+ messages in thread
From: Max Krasnyansky @ 2008-06-27 17:40 UTC (permalink / raw)
To: Peter Zijlstra, oleg, jarkao2; +Cc: linux-kernel
Peter,
Oleg,
I'm not sure if you guys saw my last email on this. So I'll restart the
thread.
If you guys are ok with the summary I provided below I can put all
Oleg's patches into some git tree, test them on my boxes and resend to
Andrew. I was also going to go over the users of flush_queued_work() and
convert them to cancel_work_sync() and/or flush_work(). So I need to
know if we want to go ahead with the flush_work() patches.
Please see summary below and let me know what you guys think.
Thanx
Max
----
Peter Zijlstra wrote:
> Anyway, I think before we go further down this road, we'd better see
> if anybody actually needs this. Not that theorizing about this problem
> isn't fun,... but... :-)
Let me see if I can sum up current state of affairs. Looks like people
are in general ok with Oleg's patches. Fancier stuff is much more
complex and may not be needed.
Combining Oleg's patches with auditing current flush_scheduled_work()
users and fixing them to use cancel_work_sync() (and in some cases
flush_work()) gives us desired behaviour. Which is:
1. minimizing flush overhead
2. handling (actually avoiding) work queue thread starvation
Does that sound right ? Or did I miss something in the discussion ?
If that sounds right we should resend the patches to Andrew with formal
ACKs because I do not seem them in mainline, linux-next or -mm.
Thanks
Max
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: workqueue flush_work() patches
2008-06-27 17:40 workqueue flush_work() patches Max Krasnyansky
@ 2008-06-27 17:56 ` Oleg Nesterov
2008-06-27 18:07 ` Max Krasnyansky
0 siblings, 1 reply; 3+ messages in thread
From: Oleg Nesterov @ 2008-06-27 17:56 UTC (permalink / raw)
To: Max Krasnyansky; +Cc: Peter Zijlstra, jarkao2, linux-kernel
On 06/27, Max Krasnyansky wrote:
>
> I'm not sure if you guys saw my last email on this. So I'll restart the
> thread.
> If you guys are ok with the summary I provided below I can put all
> Oleg's patches into some git tree, test them on my boxes and resend to
> Andrew.
I'll re-send these flush_work() patches to Andrew on Sunday,
> I was also going to go over the users of flush_queued_work() and
> convert them to cancel_work_sync() and/or flush_work().
I think this would be very nice in any case.
but I don't think flush_work() will find a lot of users...
Oleg.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: workqueue flush_work() patches
2008-06-27 17:56 ` Oleg Nesterov
@ 2008-06-27 18:07 ` Max Krasnyansky
0 siblings, 0 replies; 3+ messages in thread
From: Max Krasnyansky @ 2008-06-27 18:07 UTC (permalink / raw)
To: Oleg Nesterov; +Cc: Peter Zijlstra, jarkao2, linux-kernel
Oleg Nesterov wrote:
> On 06/27, Max Krasnyansky wrote:
>> I'm not sure if you guys saw my last email on this. So I'll restart the
>> thread.
>> If you guys are ok with the summary I provided below I can put all
>> Oleg's patches into some git tree, test them on my boxes and resend to
>> Andrew.
>
> I'll re-send these flush_work() patches to Andrew on Sunday,
Excellent. Feel free to include
Acked-By: Max Krasnyansky <maxk@qualcomm.com>
>> I was also going to go over the users of flush_queued_work() and
>> convert them to cancel_work_sync() and/or flush_work().
>
> I think this would be very nice in any case.
>
> but I don't think flush_work() will find a lot of users...
Well, you've already found one (schedule_on_each_cpu()) there will
probably be more. But I agree that flush is mostly used in cleanup
procedures and therefor most users just need cancel_work_sync().
Max
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-06-27 18:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-27 17:40 workqueue flush_work() patches Max Krasnyansky
2008-06-27 17:56 ` Oleg Nesterov
2008-06-27 18:07 ` Max Krasnyansky
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.