Re: net/dccp: warning in dccp_feat_clone_sp_val/__might_sleep

From: Andrey Konovalov
Date: Sun Oct 30 2016 - 00:42:11 EST


Sorry, the warning is still there.

I'm not sure adding sched_annotate_sleep() does anything, since it's
defined as (in case CONFIG_DEBUG_ATOMIC_SLEEP is not set):
# define sched_annotate_sleep() do { } while (0)

On Sat, Oct 29, 2016 at 8:05 PM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> On Sat, 2016-10-29 at 19:59 +0200, Andrey Konovalov wrote:
>> Hi Eric,
>>
>> Tested with both patches applied, still seeing the warning.
>>
>> Thanks!
>
> Arg, sorry, this was at the wrong place.
>
> Thanks for testing !
>
> diff --git a/net/dccp/output.c b/net/dccp/output.c
> index b66c84db0766..2548edff86ff 100644
> --- a/net/dccp/output.c
> +++ b/net/dccp/output.c
> @@ -224,6 +224,11 @@ static int dccp_wait_for_ccid(struct sock *sk, unsigned long delay)
>
> prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
> sk->sk_write_pending++;
> +
> + /* release_sock()/lock_sock() will process socket backlog
> + * from process context. Be prepared to sleep !
> + */
> + sched_annotate_sleep();
> release_sock(sk);
>
> remaining = schedule_timeout(delay);
>
>