Re: PATCH: platforms: avoid queuing work if possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



sorry for the delay, this got filtered into the
check-every-once-in-while bucket.

2014-01-31 Tejun Heo <tj@xxxxxxxxxx>:
> Hello,
>
> On Thu, Jan 30, 2014 at 05:24:16PM -0800, Peter Chang wrote:
>> 774a1221e862b343388347bac9b318767336b20b tries to avoid an expensive sync
>> by marking the current task iff it uses the async_schedule() machinery.
>
> That wasn't an optimization.  It was a workaround for deadlock.

sorry for the mis-characterization.

> The patch description doesn't describe the reasons for the change at
> all.  What issues have you encountered?  What are you trying to
> achieve?

the problem is that our current user-space environment expects block
devices to be in /sys/block after the module load completes. if the
cross cpu worker task is marked w/ ASYNC_USED (rather than the module
loading task), module loading completes and the async tasks are
'racing' w/ user space.

i fixed up the patch to just do the ASYNC_USED copying in the worker
function (since there was some bogus-ness in the original w/
get_cpu()). does this patch make more sense?

\p

Attachment: 0001-pci-copy-PF_USED_ASYNC-in-the-cross-cpu-probe-case.patch
Description: Binary data


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux