Date: Sat, 23 Dec 2006 01:40:14 -0600 From: "Scot Hetzel" <swhetzel@gmail.com> To: "M. Warner Losh" <imp@bsdimp.com> Cc: youshi10@u.washington.edu, freebsd-current@freebsd.org Subject: Re: settimeofday function taking 24 - 30 minutes to complete Message-ID: <790a9fff0612222340n7ccfc050ldb260bf0ef63c548@mail.gmail.com> In-Reply-To: <790a9fff0612222245n70994662y49aebed77c8eb45b@mail.gmail.com> References: <45887A31.4050801@paradise.net.nz> <790a9fff0612191741r656fbbe0ic8660a9c59ba632b@mail.gmail.com> <45889598.3030408@u.washington.edu> <20061220.185514.-345500127.imp@bsdimp.com> <790a9fff0612222245n70994662y49aebed77c8eb45b@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_31044_23325724.1166859614558 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 12/23/06, Scot Hetzel <swhetzel@gmail.com> wrote: > By making the following change, the test program no longer hangs the system: > > /* > * Calculate local time to put in RTC > * Ignore UTC offset, if it would cause the time < Jan 1, 1970 00:00. > */ > if (tm >= utc_offset()) > tm -= utc_offset(); > else > printf("resettodr: utc_offset > tm"); > > We probably need to change all the locations that use utc_offset(), to > have a similar "if (x >= utc_offset()) x -= utc_offset();". > Attached is a patch that fixes most of the x -= utc_offset(); cases in the kernel. The only one that's not fixed is in sys/dev/twa/tw_osl_inline.h. Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised. ------=_Part_31044_23325724.1166859614558 Content-Type: text/plain; name=utc_offset.fix; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_ew1q2gan Content-Disposition: attachment; filename="utc_offset.fix" SW5kZXg6IGFtZDY0L2lzYS9jbG9jay5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL25jdnMv c3JjL3N5cy9hbWQ2NC9pc2EvY2xvY2suYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMjgKZGlm ZiAtdSAtcjEuMjI4IGNsb2NrLmMKLS0tIGFtZDY0L2lzYS9jbG9jay5jCTMgRGVjIDIwMDYgMDM6 NDk6MjggLTAwMDAJMS4yMjgKKysrIGFtZDY0L2lzYS9jbG9jay5jCTIzIERlYyAyMDA2IDA0OjE1 OjQ2IC0wMDAwCkBAIC03MDYsOCArNzA2LDcgQEAKIAl3cml0ZXJ0YyhSVENfU1RBVFVTQiwgUlRD U0JfSEFMVCB8IFJUQ1NCXzI0SFIpOwogCiAJLyogQ2FsY3VsYXRlIGxvY2FsIHRpbWUgdG8gcHV0 IGluIFJUQyAqLwotCi0JdG0gLT0gdXRjX29mZnNldCgpOworCVVUQ19PRkZTRVQodG0pOwogCiAJ d3JpdGVydGMoUlRDX1NFQywgYmluMmJjZCh0bSU2MCkpOyB0bSAvPSA2MDsJLyogV3JpdGUgYmFj ayBTZWNvbmRzICovCiAJd3JpdGVydGMoUlRDX01JTiwgYmluMmJjZCh0bSU2MCkpOyB0bSAvPSA2 MDsJLyogV3JpdGUgYmFjayBNaW51dGVzICovCkluZGV4OiBmcy9ud2ZzL253ZnNfc3Vici5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9mcy9ud2ZzL253ZnNfc3Vici5j LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE3CmRpZmYgLXUgLXIxLjE3IG53ZnNfc3Vici5jCi0t LSBmcy9ud2ZzL253ZnNfc3Vici5jCTI0IE9jdCAyMDA2IDExOjQzOjQxIC0wMDAwCTEuMTcKKysr IGZzL253ZnMvbndmc19zdWJyLmMJMjMgRGVjIDIwMDYgMDQ6MTk6NTggLTAwMDAKQEAgLTU0Myw3 ICs1NDMsOCBAQAogCiAJdCA9ICp0c3A7CiAJCi0JdC50dl9zZWMgPSAtIHR6b2ZmICogNjAgLSB1 dGNfb2Zmc2V0KCk7CisJdC50dl9zZWMgPSAtIHR6b2ZmICogNjA7CisJVVRDX09GRlNFVCh0LnR2 X3NlYyk7CiAJdGltZXNwZWMyZmF0dGltZSgmdCwgMSwgZGRwLCBkdHAsIGRocCk7CiB9CiAKSW5k ZXg6IGkzODYvaXNhL2Nsb2NrLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMv c3lzL2kzODYvaXNhL2Nsb2NrLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjMxCmRpZmYgLXUg LXIxLjIzMSBjbG9jay5jCi0tLSBpMzg2L2lzYS9jbG9jay5jCTMgRGVjIDIwMDYgMDM6NDk6Mjgg LTAwMDAJMS4yMzEKKysrIGkzODYvaXNhL2Nsb2NrLmMJMjMgRGVjIDIwMDYgMDQ6MjA6NTggLTAw MDAKQEAgLTcxOSw3ICs3MTksNyBAQAogCQlyZXR1cm47CiAKIAlnZXRuYW5vdGltZSgmdHMpOwot CXRzLnR2X3NlYyAtPSB1dGNfb2Zmc2V0KCk7CisJVVRDX09GRlNFVCh0cy50dl9zZWMpOwogCWNs b2NrX3RzX3RvX2N0KCZ0cywgJmN0KTsKIAogCS8qIERpc2FibGUgUlRDIHVwZGF0ZXMgYW5kIGlu dGVycnVwdHMuICovCkluZGV4OiBpYTY0L2lhNjQvY2xvY2suYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl OiAvaG9tZS9uY3ZzL3NyYy9zeXMvaWE2NC9pYTY0L2Nsb2NrLmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMzAKZGlmZiAtdSAtcjEuMzAgY2xvY2suYwotLS0gaWE2NC9pYTY0L2Nsb2NrLmMJMTkg T2N0IDIwMDYgMDA6NTM6MzUgLTAwMDAJMS4zMAorKysgaWE2NC9pYTY0L2Nsb2NrLmMJMjMgRGVj IDIwMDYgMDQ6MjI6MTUgLTAwMDAKQEAgLTE4NCw3ICsxODQsNyBAQAogCiAJZWZpX2dldF90aW1l KCZ0bSk7CiAJZ2V0bmFub3RpbWUoJnRzKTsKLQl0cy50dl9zZWMgLT0gdXRjX29mZnNldCgpOwor CVVUQ19PRkZTRVQodHMudHZfc2VjKTsKIAljbG9ja190c190b19jdCgmdHMsICZjdCk7CiAKIAl0 bS50bV9uc2VjID0gdHMudHZfbnNlYzsKSW5kZXg6IGtlcm4vc3Vicl9mYXR0aW1lLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL2tlcm4vc3Vicl9mYXR0aW1lLmMsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMgpkaWZmIC11IC1yMS4yIHN1YnJfZmF0dGltZS5jCi0tLSBr ZXJuL3N1YnJfZmF0dGltZS5jCTI0IE9jdCAyMDA2IDEwOjI3OjIzIC0wMDAwCTEuMgorKysga2Vy bi9zdWJyX2ZhdHRpbWUuYwkyMyBEZWMgMjAwNiAwNDoxMzoyMSAtMDAwMApAQCAtMTQyLDcgKzE0 Miw3IEBACiAKIAl0MSA9IHRzcC0+dHZfc2VjOwogCWlmICghdXRjKQotCQl0MSAtPSB1dGNfb2Zm c2V0KCk7CisJCVVUQ19PRkZTRVQodDEpOwogCiAJaWYgKGRocCAhPSBOVUxMKQogCQkqZGhwID0g KHRzcC0+dHZfc2VjICYgMSkgKiAxMDAgKyB0c3AtPnR2X25zZWMgLyAxMDAwMDAwMDsKSW5kZXg6 IGtlcm4vc3Vicl9ydGMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMv a2Vybi9zdWJyX3J0Yy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBz dWJyX3J0Yy5jCi0tLSBrZXJuL3N1YnJfcnRjLmMJMiBPY3QgMjAwNiAxODoyMzozNyAtMDAwMAkx LjkKKysrIGtlcm4vc3Vicl9ydGMuYwkyMyBEZWMgMjAwNiAwNDoxNDoyNSAtMDAwMApAQCAtMTU3 LDcgKzE1Nyw3IEBACiAJCXJldHVybjsKIAogCWdldG5hbm90aW1lKCZ0cyk7Ci0JdHMudHZfc2Vj IC09IHV0Y19vZmZzZXQoKTsKKwlVVENfT0ZGU0VUKHRzLnR2X3NlYyk7CiAJaWYgKChlcnJvciA9 IENMT0NLX1NFVFRJTUUoY2xvY2tfZGV2LCAmdHMpKSAhPSAwKSB7CiAJCXByaW50Zigid2Fybmlu ZzogY2xvY2tfc2V0dGltZSBmYWlsZWQgKCVkKSwgdGltZS1vZi1kYXkgY2xvY2sgIgogCQkgICAg Im5vdCBhZGp1c3RlZCB0byBzeXN0ZW0gdGltZVxuIiwgZXJyb3IpOwpJbmRleDogcGM5OC9jYnVz L2Nsb2NrLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL3BjOTgvY2J1 cy9jbG9jay5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE1NApkaWZmIC11IC1yMS4xNTQgY2xv Y2suYwotLS0gcGM5OC9jYnVzL2Nsb2NrLmMJMiBPY3QgMjAwNiAxNjoyMToxNiAtMDAwMAkxLjE1 NAorKysgcGM5OC9jYnVzL2Nsb2NrLmMJMjMgRGVjIDIwMDYgMDQ6MjM6MTkgLTAwMDAKQEAgLTY2 OCw3ICs2NjgsNyBAQAogCQlyZXR1cm47CiAKIAlnZXRuYW5vdGltZSgmdHMpOwotCXRzLnR2X3Nl YyAtPSB1dGNfb2Zmc2V0KCk7CisJVVRDX09GRlNFVCh0cy50dl9zZWMpOwogCWNsb2NrX3RzX3Rv X2N0KCZ0cywgJmN0KTsKIAogCXJ0Y19zZXJpYWxjb20oMHgwMSk7CS8qIFJlZ2lzdGVyIHNoaWZ0 IGNvbW1hbmQuICovCkluZGV4OiBzeXMvY2xvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9t ZS9uY3ZzL3NyYy9zeXMvc3lzL2Nsb2NrLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNwpkaWZm IC11IC1yMS43IGNsb2NrLmgKLS0tIHN5cy9jbG9jay5oCTI0IE9jdCAyMDA2IDEwOjI3OjIzIC0w MDAwCTEuNworKysgc3lzL2Nsb2NrLmgJMjMgRGVjIDIwMDYgMDQ6Mjk6MTQgLTAwMDAKQEAgLTYx LDYgKzYxLDExIEBACiBpbnQgdXRjX29mZnNldCh2b2lkKTsKIAogLyoKKyAqIFByZXZlbnQgdGlt ZSBmcm9tIGJlaW5nIDwgSmFuIDEsIDE5NzAgMDA6MDAgVVRDCisgKi8KKyNkZWZpbmUgVVRDX09G RlNFVCh0bSkgaWYgKHRtID49IHV0Y19vZmZzZXQoKSkgdG0gLT0gdXRjX29mZnNldCgpCisKKy8q CiAgKiBTdHJ1Y3R1cmUgdG8gaG9sZCB0aGUgdmFsdWVzIHR5cGljYWxseSByZXBvcnRlZCBieSB0 aW1lLW9mLWRheSBjbG9ja3MuCiAgKiBUaGlzIGNhbiBiZSBwYXNzZWQgdG8gdGhlIGdlbmVyaWMg Y29udmVyc2lvbiBmdW5jdGlvbnMgdG8gYmUgY29udmVydGVkCiAgKiB0byBhIHN0cnVjdCB0aW1l c3BlYy4K ------=_Part_31044_23325724.1166859614558--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0612222340n7ccfc050ldb260bf0ef63c548>