Hi Linus,
On 2023/1/29 下午3:33, Linus Torvalds wrote:
On Sat, Jan 28, 2023 at 10:05 PM Hongchen Zhang
<zhanghongchen@xxxxxxxxxxx> wrote:
Use spinlock in pipe_{read,write} cost too much time,IMO
pipe->{head,tail} can be protected by __pipe_{lock,unlock}.
On the other hand, we can use __pipe_{lock,unlock} to protect
the pipe->{head,tail} in pipe_resize_ring and
post_one_notification.
No, we really can't.
post_one_notification() is called under the RCU lock held, *and* with
a spinlock held.
It simply cannot do a sleeping lock like __pipe_lock().
So that patch is simply fundamentally buggy, I'm afraid.
Linus
Thanks for your review,Let me find out if there is any way to solve the
problem you said.
Best Regards
Hongchen Zhang