RE: [Openipmi-developer] [Discuss] [PATCH] ipmi: use round_jiffies on timers to reduce timer overhead/wakeups

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Corey Minyard wrote:



Well yeah.  Also an industry where a small leg up on some competitor can
turn into a big deal.  So that goes both ways.


That seems like a fairly compelling argument against.  It's not in the
"standard kernel" (i.e. of Linux); it's probably not in other OSes.  So
now you're asking the software side of the industry to spend another
several years playing catchup.


BT is already supported by existing code (e.g. OpenIPMI driver).  It can
almost certainly be presented on a PCI card (at PCI-mediated addresses
not some legacy ISA port range).  So what do you mean "yet another
interface to tie in"?  It's just a blob of behavior to be situated on a
PCI card (or mboard implementation in PCI space).

I2C?  Volunteering to put it on I2C is like volunteering to put the new
branch office on a 1200 baud modem because you're suspicious of all that
newfangled fiber stuff.  Huh?

Regarding performance, we've had real struggles with IPMI performance
aspects.  There were situations where kipmid failed to start or didn't
do its job correctly, resulting in very slow IPMI operations.  Seemingly
harmless -- except that some OEM management agent daemon was making
decisions based on feedback from IPMI.  The delays caused it to get into
some watchdog code that decided the system was hung and issued a reboot.   

On other systems, the OEM management agents poll IPMI so persistently
that kipmid ends up taking a significant fraction of a CPU (nearly
100% of a CPU in bursts, long term average of 40%+).  Since the Linux 
"Console OS" in COS-bearing versions of ESX is by design limited to a
single CPU, and since it does have other tasks to do, this causes some
bad bottlenecks.             

These things I mention are our bugs, should be fixed, are not
necessarily the "fault" of IPMI.  Yet they would have no noticable
impact if the BMC hardware was speaking BT.  The slow operations which
(when magnified by 1000s of calls) took up most of a CPU would instead
take up a barely measurable portion of a CPU.

I don't suppose my viewpoint on this is going to be popular on lkml,
but it is rather parochial to base hardware design decisions on "that's
OK because it will be dealt with in some nebulous near-future version
of the Linux kernel".  That's great for people who will be running a
bleeding edge Linux kernel.  Not so good for people running stodgier
Linux distros, other *ix OSes, Windows, QNX, who knows what else.
It's great that Linux is [or intends to be] on top of this.  It's not
the whole world.  The Dells of this world necessarily have to design
systems that will work adequately with e.g. RHEL5.4 (2.6.18 + a zillion
patches), not to mention Win2K3 SP${current}, etc.

If you're designing a phone handset, router, set-top box, etc. --
something where you own the entire project from hardware up to the top
of the software stack -- _then_ you can make decisions on such criteria.
General purpose hardware designs have to support general purpose OSes,
including lots of weird little backwaters.

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/
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH] ipmi: use round_jiffies on timers to reduce ti ..., Arjan van de Ven, (Wed Oct 21, 11:42 am)
RE: [Openipmi-developer] [Discuss] [PATCH] ipmi: use round ..., Bela Lubkin, (Thu Oct 22, 3:16 pm)