All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@kernel.org>
To: Rameshkumar Sundaram <quic_ramess@quicinc.com>
Cc: <ath12k@lists.infradead.org>,  <linux-wireless@vger.kernel.org>,
	 Sriram R <quic_srirrama@quicinc.com>
Subject: Re: [PATCH v6 1/3] wifi: ath12k: prepare vif data structure for MLO handling
Date: Thu, 08 Aug 2024 13:57:59 +0300	[thread overview]
Message-ID: <87sevf2seg.fsf@kernel.org> (raw)
In-Reply-To: <87frrj70nz.fsf@kernel.org> (Kalle Valo's message of "Mon, 05 Aug 2024 12:56:48 +0300")

Kalle Valo <kvalo@kernel.org> writes:

> Rameshkumar Sundaram <quic_ramess@quicinc.com> writes:
>
>> Locking:
>>  Currently modifications to members of arvif and arsta are protected by ar->conf_mutex
>>  and it stays as such.
>>  Now with these hw level structure (ahvif) being introduced, any modifications
>>  to its members and link objects (i.e., arvifs[] which are dynamically allocated)
>>  needs to be protected for writing and ah->conf_mutex is used for the same.
>>  Also, atomic contexts(say WMI events and certain mac_ops) that we currently have in driver
>>  will not(shouldn't be allowed) do any modifications but can read them and
>>  rcu_read_lock() is used for the same.
>
> Please elaborate more about your locking design. Because of past bad
> contributions from Qualcomm the bar is really high for adding any new
> locks. I'm doing the locking analysis right now but it would help a lot
> if you could provide your own analysis.
>
> My first impressions:
>
> It's really confusing to have two locks with the same name (conf_mutex
> in struct ath12k_hw and struct ath12k).
>
> struct ath12k_hw already has hw_mutex so I'm even more suspicious about
> this locking design. That's not explained at all in commit messages.

I didn't get any replies, and my own analysis is still ongoing, but the
more I look at this, the more I feel using two overlapping mutexes is
overkill. I'm starting to wonder if we would convert to using
wiphy_lock()? That might simplify things significantly. I should have an
old patchset doing that stored somewhere.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


  reply	other threads:[~2024-08-08 10:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-11 16:55 [PATCH v6 0/3] wifi: ath12k: prepare vif and sta datastructure Rameshkumar Sundaram
2024-07-11 16:55 ` [PATCH v6 1/3] wifi: ath12k: prepare vif data structure for MLO handling Rameshkumar Sundaram
2024-07-16 20:38   ` Jeff Johnson
2024-08-05  9:56   ` Kalle Valo
2024-08-08 10:57     ` Kalle Valo [this message]
2024-08-08 16:42       ` Rameshkumar Sundaram
2024-08-09 14:29         ` Kalle Valo
2024-08-09 18:00           ` Rameshkumar Sundaram
2024-08-06 12:28   ` Kalle Valo
2024-08-06 16:02     ` Aditya Kumar Singh
2024-08-06 16:32       ` Kalle Valo
2024-07-11 16:55 ` [PATCH v6 2/3] wifi: ath12k: pass ath12k_link_vif instead of vif/ahvif Rameshkumar Sundaram
2024-07-11 16:55 ` [PATCH v6 3/3] wifi: ath12k: prepare sta data structure for MLO handling Rameshkumar Sundaram

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=87sevf2seg.fsf@kernel.org \
    --to=kvalo@kernel.org \
    --cc=ath12k@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=quic_ramess@quicinc.com \
    --cc=quic_srirrama@quicinc.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.