summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-06-28 12:18:36 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-06-28 12:18:36 +0000
commit0b20190e7489c762b5815780344a9b1c30a63343 (patch)
treef53ca1841520187448a0313020f269f744f48d41 /TODO
parent07fb877e0a7eb9d87482b68bb45e839fdaf851d8 (diff)
downloadgpsd-0b20190e7489c762b5815780344a9b1c30a63343.tar.gz
Steps towards eliminating FIONREAD.
Diffstat (limited to 'TODO')
-rw-r--r--TODO12
1 files changed, 8 insertions, 4 deletions
diff --git a/TODO b/TODO
index ec800058..641622b5 100644
--- a/TODO
+++ b/TODO
@@ -78,10 +78,14 @@ Rob Janssen writes:
> --10, this further increases the load and slows down the backup to a crawl.
> Killing gpsd makes the backup finish and then it can be started again.
-He adds that this occurs with SiRF+Zodiac and SiRF+TSIP. He suspects
-this may be due to a bug in the SiRF support, interacting with extreme
-conditions in the Linux kernel's memory management. The bug seems not
-to occur during ext3 backups, only Reiserfs ones.
+He further observers that the FIONREAD ioctl() we use to check for
+input waiting spins returning 0 when this happens. We suspect that
+memory resource crises do something nasty to the buffering in the
+Linux serial layer. The bug seems not to occur during ext3 backups,
+only Reiserfs ones.
+
+This probably means we need to get rid of the FIONREAD ioctl(), which
+has always been kind of dodgy anyway.
** To do: