Messages in this thread |  | | | Date | Mon, 24 Oct 2005 15:45:50 -0700 | | From | "Paul E. McKenney" <> | | Subject | Re: [PATCH 1/9] ipmi: use refcount in message handler |
| |
On Mon, Oct 24, 2005 at 07:52:31AM -0500, Corey Minyard wrote: > Paul E. McKenney wrote: > > >On Sun, Oct 23, 2005 at 11:42:17PM -0500, Matt Domsch wrote: > > > > > >>On Sun, Oct 23, 2005 at 07:19:32PM -0700, Paul E. McKenney wrote: > >> > >> > >>>My guess is that this read-side critical section can be invoked from and > >>>SMI, and that SMIs can occur even if interrupts are disabled. If my guess > >>>is wrong, please enlighten me. And feel free to ignore the next few > >>>paragraphs in that case, along with a number of my suggested changes, > >>>since they all depend critically on my guess being correct. > >>> > >>> > >>Paul, it took me a bit to figure this out too, but Corey uses the TLA > >>"SMI" to mean "Systems Management Interface", not "Systems Management > >>Interrupt". From Documentation/IPMI.txt: > >> > >>ipmi_msghandler - This is the central piece of software for the IPMI > >>system. It handles all messages, message timing, and responses. The > >>IPMI users tie into this, and the IPMI physical interfaces (called > >>System Management Interfaces, or SMIs) also tie in here. > >> > >> > >>There are at least 4 basic types of physical hardware interfaces (BT, > >>SMIC, KCS, and I2C), which may (or more often, may not) have their own > >>hardware interrupt lines, but these are normal interrupts, not > >>CPU-magic "systems management interrupts". So I think this isn't a > >>problem. > > > >OK, thank you for the tutorial on the "other SMI"! > > > Yeah, I've really misnamed this, unfortunately. Too many TLAs.
Well, given that there are only 17,576 TLAs, there just aren't enough to go around, I guess. ;-)
> >The comments about turning synchronize_rcu() into synchronize_sched() > >and rcu_read_lock() into preempt_disable() do not apply, please ignore. > > > >However, I still do not understand how using RCU on cmd_rcvrs helps, > >given that all of the accesses that I could see were already protected > >by cmd_rcvrs_lock. > > > >Any further enlightenment available? > > > The calls in handle_ipmb_get_msg_cmd and handle_lan_get_msg_cmd don't > need spinlock protection, just an RCU read lock. Kind of the point of > the RCU list. Thanks for spotting this.
Sounds reasonable, look forward to seeing the fix.
Thanx, Paul - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |