[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_gnumach]] # IRC, freenode, #hurd, 2012-07-05 <pinotree> braunr: wrt to mach: it seems to me it ticks every 10ms or so, it is true? <braunr> yes <braunr> and it's not preemptible [[microkernel/mach/gnumach/preemption]]. <pinotree> braunr: that means a gnumach kernel currently has a maximum uptime of almost 500 days <braunr> pinotree: what do you mean ? <pinotree> there's an int (or uint, i don't remember) variable that keeps the tick count <braunr> yes the tick variable should probably be a 64-bits type <braunr> or a struct <braunr> but the tick count should only be used for computation on "short" delays <braunr> and it should be safe to use it even when it overflows <braunr> it's not the wall clock <pinotree> i found that when investigating why the maximum timeout for a mach_msg is like INT_MAX >> 2 (or 4) or something like that, also due to the tick count <braunr> iirc, in linux, they mostly use the lower 32-bits on 32-bits architecture, updating the 32 upper only when necessary