From: Benjamin Beichler <Benjamin.Beichler@uni-rostock.de>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH v2 1/5] mac80211_hwsim: wait for deferred radio deletion on mod unload
Date: Mon, 11 Dec 2017 13:54:02 +0100 [thread overview]
Message-ID: <d61a234d-6072-1714-0674-7981ef20b33a@uni-rostock.de> (raw)
In-Reply-To: <1512992771.26976.73.camel@sipsolutions.net>
Am 11.12.2017 um 12:46 schrieb Johannes Berg:
>
>> + spin_lock_bh(&hwsim_delete_lock);
>> + while (!list_empty(&delete_radios)) {
>> + pr_debug("mac80211_hwsim: wait for deferred radio remove\n");
>> + spin_unlock_bh(&hwsim_delete_lock);
>> + flush_work(&list_entry(&delete_radios,
>> + struct mac80211_hwsim_data, list)
>> + ->destroy_work);
> This can't possibly be right ... you're locking the list_empty which is=
> a trivial pointer comparison, but not the actual list_entry() ...
Maybe the first spin_lock is not needed, but since flush_work wait for
the completion of the task, which at the end also deletes the item from
the list, holding any spin_lock would be wrong.
>
> I'd also prefer you actually didn't leave the problem in part as you
> describe - and a new workqueue probably isn't that much overhead and
> should introduce *less* new code than this, so IMHO that's worth it.
I totally agree with you, but I don't know the actual policy for
creating workqeues. I could also simply call flush_scheduled_work,
because we may have enough time at module unload. Some modules also do
it, but the description an some mailing threads mark it like
evil/deprecated. Which solution do you prefer?
kind regards
Benjamin
--=20
M.Sc. Benjamin Beichler
Universit=C3=A4t Rostock, Fakult=C3=A4t f=C3=BCr Informatik und Elektrote=
chnik
Institut f=C3=BCr Angewandte Mikroelektronik und Datentechnik
University of Rostock, Department of CS and EE
Institute of Applied Microelectronics and CE
Richard-Wagner-Stra=C3=9Fe 31
18119 Rostock
Deutschland/Germany
phone: +49 (0) 381 498 - 7278
email: Benjamin.Beichler@uni-rostock.de
www: http://www.imd.uni-rostock.de/
next prev parent reply other threads:[~2017-12-11 12:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20171121121744.23422-1-benjamin.beichler@uni-rostock.de>
2017-11-21 12:17 ` [PATCH v2 1/5] mac80211_hwsim: wait for deferred radio deletion on mod unload Benjamin Beichler
2017-12-11 11:46 ` Johannes Berg
2017-12-11 12:54 ` Benjamin Beichler [this message]
2017-12-11 12:57 ` Johannes Berg
2017-12-11 13:07 ` Benjamin Beichler
2017-11-21 12:17 ` [PATCH v2 2/5] mac80211_hwsim: add hashtable with mac address keys for faster lookup Benjamin Beichler
2017-11-21 12:17 ` [PATCH v2 3/5] mac80211_hwsim: add generation count for netlink dump operation Benjamin Beichler
2017-12-11 12:14 ` Johannes Berg
2017-12-11 12:37 ` Benjamin Beichler
2017-12-11 12:49 ` Johannes Berg
2017-12-11 13:02 ` Benjamin Beichler
2017-12-11 13:07 ` Johannes Berg
2017-12-11 13:29 ` Benjamin Beichler
2017-12-11 13:59 ` Johannes Berg
2017-11-21 12:17 ` [PATCH v2 4/5] mac80211_hwsim: add permanent mac address option for new radios Benjamin Beichler
2017-12-11 12:16 ` Johannes Berg
2017-11-21 12:17 ` [PATCH v2 5/5] mac80211_hwsim: add hwsim_tx_rate_flags to netlink attributes Benjamin Beichler
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=d61a234d-6072-1714-0674-7981ef20b33a@uni-rostock.de \
--to=benjamin.beichler@uni-rostock.de \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/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.