| To: | Jeff Garzik <jgarzik@xxxxxxxxx> |
|---|---|
| Subject: | Re: [Bonding-devel] Re: [SET 2][PATCH 2/8][bonding] Propagating master's settings toslaves |
| From: | Mark Huth <mhuth@xxxxxxxxxx> |
| Date: | Mon, 11 Aug 2003 14:27:04 -0700 |
| Cc: | shmulik.hen@xxxxxxxxx, hadi@xxxxxxxxxx, Laurent DENIEL <laurent.deniel@xxxxxxxxxxxxx>, bonding-devel@xxxxxxxxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx |
| References: | <E791C176A6139242A988ABA8B3D9B38A014C9474@hasmsx403.iil.intel.com> <200308111720.38472.shmulik.hen@intel.com> <1060612481.1034.15.camel@jzny.localdomain> <200308111925.38278.shmulik.hen@intel.com> <3F37C7C3.7070807@pobox.com> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 |
Jeff Garzik wrote: The answer is, like life, it's a balance. Yes, the answer is balance - the complicated, but non-time critical things should go into applications. However, we need to retain a basic ability to perform the failover according to pre-configured rules within the kernel. Many of our customers use bonding to provide a redundant network path through the wires and switches for what turn out to be heavily network dependant applications. In many cases, the systems do not have a local disk, and everything is obtained via say an NFS mount. When the MAC breaks, you may not be able to run userland! In HA systems at this level, guarding against the failure of a redundant hardware component, we find that it is very helpful for the kernel to be able to perform a variety of simple, pre-programmed operations without resort to userland - this keeps the interacting fault domains smaller. Sure, the decisons about how to configure the behaviors - that is the policies - belong in applications. But the response to an event which triggers the actions may well _need_ to be in the kernel. While the issue may not be so much one of speed - the applications may well respond in an adequate manner, depending on design and load - the issue of the amount of the system that must work for recovery is quite important when trying to push system availabilities into the mythical 5 9's plus region. For an application to run, the system has to be able to fork and exec, access the file system, allocate memory, etc. Sure, through careful configuration it is possible to reduce the transient resources required (run a pre-loaded/locked daemon, make sure the files are locally cached, etc) then the configuration and testing are complicated. It worked fine in the lab, because a resource we didn't realize was critical, never got pushed out of the dcache, for example. Mark Huth |
| Previous by Date: | [RFT][PATCH] Convert bluetooth to dynamic net_device., Stephen Hemminger |
|---|---|
| Next by Date: | Re: [Bonding-devel] Re: [SET 2][PATCH 2/8][bonding] Propagating master's settings toslaves, Jay Vosburgh |
| Previous by Thread: | Re: [Bonding-devel] Re: [SET 2][PATCH 2/8][bonding] Propagating master'ssettings toslaves, jamal |
| Next by Thread: | Re: [Bonding-devel] Re: [SET 2][PATCH 2/8][bonding] Propagating master's settings toslaves, Jay Vosburgh |
| Indexes: | [Date] [Thread] [Top] [All Lists] |