Re: [PATCH 1/9] ipmi: use refcount in message handler

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

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux