On Sun, 23 Mar 2008, Rafael J. Wysocki wrote:It doesn't help. What _does_ help is the fact that these traversals are all serialized (since only one thread can carry out a system sleep at any time). Yes, that is the problem. If you try to work around it by using list_for_each_entry_safe() then you run into a problem when a concurrent thread removes the device _following_ the one being handled (or when the device being handled is the last one on the list and a concurrent thread registers a new device, which can only happen in dpm_prepare()). It's not hard to fix. Just something to be aware of. Alan Stern P.S.: Oh yes, another related issue... We should call get_device() and put_device() while holding dpm_list_mtx. Otherwise the device structure might vanish when the callbacks are invoked. --
| Adrian Bunk | If you want me to quit I will quit |
| Bryan Woods | Stardom SATA HSM violation |
| Borislav Petkov | [PATCH] ide-floppy fix |
| Ingo Molnar | Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS] |
git: | |
| walt | [VOTE] git versus mercurial |
| Nicolas Pitre | Re: [PATCH] gc: call "prune --expire 2.weeks.ago" |
| cte | linking libgit.a in C++ projects |
| Marco Costalba | [ANNOUNCE] qgit4 aka qgit ported to Windows |
| qw er | OpenBSD sucks |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| cgc | Re: RES: RES: Filtering outgoing connections in pf |
| Karel Kulhavy | lookup option in /etc/resolv.conf ignored |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Christopher Snook | RFC: Nagle latency tuning |
| Matt Mackall | [PATCH] Stop scaring users with "treason uncloaked!" |
| John Heffner | Re: A Linux TCP SACK Question |
