All of lore.kernel.org
 help / color / mirror / Atom feed
From: Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>
To: 'Alexei Starovoitov' <alexei.starovoitov@gmail.com>
Cc: "'Yonghong Song'" <yhs@fb.com>,
	"'Toke Høiland-Jørgensen'" <toke@redhat.com>,
	'bpf' <bpf@vger.kernel.org>,
	"'Alexei Starovoitov'" <ast@kernel.org>,
	"'Andrii Nakryiko'" <andrii@kernel.org>,
	"'Daniel Borkmann'" <daniel@iogearbox.net>,
	"'Joanne Koong'" <joannelkoong@gmail.com>,
	"'Jesper Dangaard Brouer'" <brouer@redhat.com>
Subject: Re: [PATCH] bpf: fix rq lock recursion issue
Date: Mon, 13 Jun 2022 14:35:27 -0700	[thread overview]
Message-ID: <006701d87f6d$7fe0a060$7fa1e120$@quicinc.com> (raw)
In-Reply-To: <CAADnVQJUyvhqjnn9OuB=GN=NgA3Wu59fQqLM8nzg_TWh1HnJ4Q@mail.gmail.com>


On 6/13/22 2:01 PM, Alexei Starovoitov wrote:
> is doesn't solve anything.
> Please provide a reproducer.

I'm trying to find an easy way to repro the issue, so far, unsuccessful.

> iirc the task's affinity change can race even with preemption disabled
> on this cpu. Why would s/migrate/preemption/ address the deadlock ?

I don't think task's affinity change races with preemption disabled/enabled.

Switching to preemption disable/enable calls helps as it's just simple
counter increment and decrement with a barrier, but with migrate 
disable/enable when task's affinity changes, we run into recursive bug
due to rq lock.

By the way, migrate disable/enable does end up calling preemt disable/enable
as well, pls see [1].

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/sched/core.c#n2224



  reply	other threads:[~2022-06-13 21:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-13  2:52 [PATCH] bpf: fix rq lock recursion issue Satya Durga Srinivasu Prabhala
2022-06-13  9:22 ` Toke Høiland-Jørgensen
2022-06-13 16:17   ` Satya Durga Srinivasu Prabhala
2022-06-13 16:35   ` Yonghong Song
2022-06-13 17:47     ` Satya Durga Srinivasu Prabhala
2022-06-13 21:01       ` Alexei Starovoitov
2022-06-13 21:35         ` Satya Durga Srinivasu Prabhala [this message]
2022-06-13 21:49           ` Alexei Starovoitov
2022-06-14  1:10             ` Satya Durga Srinivasu Prabhala
2022-06-14  6:09               ` Yonghong Song
2022-06-24  6:56                 ` Satya Durga Srinivasu Prabhala
2022-06-24 16:46                   ` Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='006701d87f6d$7fe0a060$7fa1e120$@quicinc.com' \
    --to=quic_satyap@quicinc.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=brouer@redhat.com \
    --cc=daniel@iogearbox.net \
    --cc=joannelkoong@gmail.com \
    --cc=toke@redhat.com \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.