Search Linux Wireless

Re: [PATCH v2] mac80211_hwsim: don't use WQ_MEM_RECLAIM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



resending as it included html and got blocked from the list.

On 1/25/2018 7:21 PM, Arend Van Spriel wrote:
Op 24 jan. 2018 11:46 schreef "Johannes Berg" <johannes@xxxxxxxxxxxxxxxx
<mailto:johannes@xxxxxxxxxxxxxxxx>>:
 >
 > On Wed, 2018-01-24 at 10:39 +0100, Benjamin Beichler wrote:
 >
 > > sorry for introducing that error, but I'm a bit confused by the
 > > workqueue documentation.
 > > My assumption was, that deleting hwsim radios is reclaiming memory, and
 > > since this queue does nothing else it would save/necessary to set
this flag.
 > >
 > > Maybe a hint in the documentation, that a work item on a WQ_MEM_RECLAIM
 > > queue must not call flush of an !WQ_MEM_RECLAIM queue would be nice.
 > > Maybe it's kind of obvious, but there is also a reminder not to forget
 > > that flag, if a queue may have work items that reclaim memory
 >
 > Yeah, honestly, I'm not really sure either. Clearly we can't set it,
 > but other drivers also set it...

That triggered something in my memory. So indeed we use it in brcmfmac
as well. We used create_singlethread_workqueue(), but I wanted to avoid
snprintf and specify the name format so switched to using
alloc_ordered_workqueue() keeping WQ_MEM_RECLAIM as per the macro
definition.

#define create_singlethread_workqueue(name)				\
	alloc_ordered_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, name)

Don't recall why I dropped the __WQ_LEGACY flag though.

Regards,
Arend

 > I don't think it was *intended* for when you're freeing memory, since I
 > think reclaiming is what happens when you write out dirty buffers to
 > disk etc.
 >
 > johannes





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux