diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-24 21:58:31 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-24 21:58:31 +0000 |
commit | 26b0f376d66975c03c3d24afd72257f34c9bb5f6 (patch) | |
tree | 9d6fea5b7c12347ffe5fa1f00778b14779ad52a4 /chrome/browser/io_thread.cc | |
parent | 3c6f8e155866a42aed692b88231f4c6a62fae8c7 (diff) | |
download | chromium_src-26b0f376d66975c03c3d24afd72257f34c9bb5f6.zip chromium_src-26b0f376d66975c03c3d24afd72257f34c9bb5f6.tar.gz chromium_src-26b0f376d66975c03c3d24afd72257f34c9bb5f6.tar.bz2 |
Add IPv6 probe support for Windows
This is meant to test to see if AI_ADDRCONFIG is doing its
job in windows, or if we have to do the scans when there is
a network change.
Also switch to always doing probe support on Mac/Linux platforms.
There appears to be (on aggregate) around a 40% degradation of
DNS resolution times on the Mac, and about 17% degration on
Linux, when we don't probe. It is likely that a few users
are greatly impacted by this, and are able to move the average
of the whole user population.
BUG=12754
BUG=25680
r=wtc
Review URL: http://codereview.chromium.org/1210003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42544 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/io_thread.cc')
-rw-r--r-- | chrome/browser/io_thread.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc index d2ce04e..83d81b6 100644 --- a/chrome/browser/io_thread.cc +++ b/chrome/browser/io_thread.cc @@ -40,11 +40,13 @@ net::HostResolver* CreateGlobalHostResolver( global_host_resolver->GetAsHostResolverImpl(); if (host_resolver_impl != NULL) { // (optionally) Use probe to decide if support is warranted. + bool use_ipv6_probe = true; +#if defined(OS_WIN) // Measure impact of probing to allow IPv6. // Some users report confused OS handling of IPv6, leading to large // latency. If we can show that IPv6 is not supported, then disabliing - // it will work around such problems. + // it will work around such problems. This is the test of the probe. const FieldTrial::Probability kDivisor = 100; const FieldTrial::Probability kProbability = 50; // 50% probability. FieldTrial* trial = new FieldTrial("IPv6_Probe", kDivisor); @@ -52,7 +54,9 @@ net::HostResolver* CreateGlobalHostResolver( kProbability); trial->AppendGroup("_IPv6_probe_done", FieldTrial::kAllRemainingProbability); - bool use_ipv6_probe = (trial->group() != skip_group); + use_ipv6_probe = (trial->group() != skip_group); +#endif + if (use_ipv6_probe) host_resolver_impl->ProbeIPv6Support(); } |