| From | Subject | Date |
|---|---|---|
| Matthew Dillon | GCC-4 compiler bug
GCC-4.1.2 is not properly handling signed 64 bit rollovers. It's
not doing it properly for 32 bit rollovers either.
This program should generate an "X" when run. It doesn't.
int
main(int ac, char **av)
{
int64_t n = 0x7FFFFFFFFFFFFFFFLL;
if (n + (128 * 1024) + 1 < n)
printf("X\n");
}
If I replace the calculation with an assigned variable, it works:
int
main(int ac, char **av)
{
int64_t n = 0x7FFFFFFFFFFFFFFFLL;
...
| Nov 27, 2:23 pm 2007 |
| Matthew Dillon | Re: Kernel panic during boot in usb_add_task
It looks like memory corruption. USB may be issuing duplicate TAILQ
operations on its taskq structure(s).
Please try this patch. If it doesn't work then one or more task
structure is probably being ripped out from under the usb code,
probably by somthing related to uhci_timeout() as you previously
reported. My guess is that uhci_detach() is ripping the structure
out without waiting for the abort to finish but lets see if this
patch has any effect ...
| Nov 27, 10:57 am 2007 |
| Matthew Dillon | HAMMER update 26-Nov 2007
Work continues to progress well. Most of the committed code has now been
tested and is in reasonably good shape for operations occuring within
a single cluster.
(a cluster is just a 64MB chunk of disk in HAMMER terminology).
Next up will be to add an option to have HAMMER physically delete data
so I can test the B-Tree deletion code (ultimately this will be controlled
by the retention policy). At the moment it doesn't throw anything away
at all which is great ...
| Nov 27, 12:58 am 2007 |
| previous day | today | next day |
|---|---|---|
| November 26, 2007 | November 27, 2007 | November 28, 2007 |
