Skip site navigation (1)Skip section navigation (2)
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>