]> git.lizzy.rs Git - plan9front.git/log
plan9front.git
10 years agoetheriwl: recover from rfkill toggle or firmware crash
cinap_lenrek [Sun, 25 Aug 2013 16:50:14 +0000 (18:50 +0200)]
etheriwl: recover from rfkill toggle or firmware crash

spawn a kernel process to check the broken state of the controller.
if the firmware crashed, or rfkill was toggled we will reset and
reboot the firmware. also power down the card when rfkill is off.

10 years agonusb/ether: add aue driver for admtek pegasus usb ethernet adapter
ppatience0 [Sat, 24 Aug 2013 23:18:15 +0000 (19:18 -0400)]
nusb/ether: add aue driver for admtek pegasus usb ethernet adapter

10 years agousbehci, usbuhci: paranoia
cinap_lenrek [Sun, 25 Aug 2013 20:03:02 +0000 (22:03 +0200)]
usbehci, usbuhci: paranoia

double the td abort delay and make sure the tsleep() isnt
shortened by a pending note. in that case, tsleep() would
raise error(Eintr); immidiately and would not sleep the
requested amount potentially cauing us to release active
dma memory too early! so we wrap the tsleep() call in a
while(waserror()) so we will at least wait the Abortdelay
amount if error is raised.

also, only try to idle the still active td's.

do not copy data in epio() when there was an error, theres
no reason to touch user buffer in that case.

for uhci, we also check that theres not more data in the
buffers than requested to avoid overflowing user buffer
in epio(). this should not happen but we'r paranoid.

for ehci, we also halt the queue head first in aborttds().
mark the queue heads as Qfree after unlinking and remove
some silly nil checks that are impossible.

10 years ago2c(1), torrent(1), uhtml(1), kbd(3), cwfs(4), hgfs(4), cifsd(8), cryptsetup(8), hjfs...
stanley lieber [Fri, 23 Aug 2013 19:48:52 +0000 (15:48 -0400)]
2c(1), torrent(1), uhtml(1), kbd(3), cwfs(4), hgfs(4), cifsd(8), cryptsetup(8), hjfs(8), kbdfs(8), realemu(8), wpa(8): fix spelling, typos

10 years agoaudio(1), hget(1), nusb(4), page(1): fix spelling, typos
stanley lieber [Fri, 23 Aug 2013 15:27:30 +0000 (11:27 -0400)]
audio(1), hget(1), nusb(4), page(1): fix spelling, typos

10 years agowebfs(4): read the whole man page before committing corrections
stanley lieber [Fri, 23 Aug 2013 15:15:52 +0000 (11:15 -0400)]
webfs(4): read the whole man page before committing corrections

10 years agowebfs(4): fix typo
stanley lieber [Fri, 23 Aug 2013 15:07:59 +0000 (11:07 -0400)]
webfs(4): fix typo

10 years agowebfs(4): correct typo
stanley lieber [Thu, 22 Aug 2013 21:58:51 +0000 (17:58 -0400)]
webfs(4): correct typo

10 years agofortunes: seems that so much is up on the net, it is hard to comprehend it all.
stanley lieber [Thu, 22 Aug 2013 16:15:29 +0000 (12:15 -0400)]
fortunes: seems that so much is up on the net, it is hard to comprehend it all.

10 years agofile(1): recognize AAC audio files, from sources
stanley lieber [Thu, 22 Aug 2013 16:14:57 +0000 (12:14 -0400)]
file(1): recognize AAC audio files, from sources

10 years agowifi: remove pool.h include
cinap_lenrek [Tue, 20 Aug 2013 17:48:39 +0000 (19:48 +0200)]
wifi: remove pool.h include

10 years agorc: flush environment variables (update /env) before fork
cinap_lenrek [Tue, 20 Aug 2013 21:56:15 +0000 (23:56 +0200)]
rc: flush environment variables (update /env) before fork

on races... normal forks will all share the /env environment but
not the in memory variables of rc. so when we would normally fork
whoever does an exec (flush) first will override what the values of the
/env variables are, *independent* of the variables that where
actually modified *in* the process.

when we flush *before* fork, then at least both processes start out
with marked clean in memory variables and the processes will flush
only the things they actually change.

10 years agorio: position keyboard window (-k) at the bottom of the screen
cinap_lenrek [Tue, 20 Aug 2013 21:48:18 +0000 (23:48 +0200)]
rio: position keyboard window (-k) at the bottom of the screen

10 years agobitsy/keyboard: dont resize our own window
cinap_lenrek [Tue, 20 Aug 2013 21:36:04 +0000 (23:36 +0200)]
bitsy/keyboard: dont resize our own window

the resizing fails if run with rio in rio. dont try
to be too clever.

10 years agowpa: repeat rsne setup after deassociation (roamng between access points)
cinap_lenrek [Mon, 19 Aug 2013 14:07:07 +0000 (16:07 +0200)]
wpa: repeat rsne setup after deassociation (roamng between access points)

the "auth" ctl command only sets the rsne of the current selected
access point. so on deassociation, we wait for the connection to
the potentially new access point and then setup new rsne before
processing eapol messages.

10 years agofortunes: GitHub is down...uh...now what?
stanley lieber [Thu, 15 Aug 2013 16:12:26 +0000 (12:12 -0400)]
fortunes: GitHub is down...uh...now what?

10 years agolibsec: only send client cert when we have one (fix regression from r6e976b2004dd)
cinap_lenrek [Wed, 14 Aug 2013 22:29:42 +0000 (00:29 +0200)]
libsec: only send client cert when we have one (fix regression from r6e976b2004dd)

10 years agolibc: Prevent infinite recursion when modf is called with NaN or Inf argument. (apply...
cinap_lenrek [Wed, 14 Aug 2013 16:49:45 +0000 (18:49 +0200)]
libc: Prevent infinite recursion when modf is called with NaN or Inf argument. (apply richard millers / modf-nan patch from sources)

10 years agolibdraw: fix leftover processes or programs failing to restore window labels when...
cinap_lenrek [Tue, 13 Aug 2013 19:46:13 +0000 (21:46 +0200)]
libdraw: fix leftover processes or programs failing to restore window labels when receiving interrupt note

fix the default note handler for event programs. only handle non system
notes or notes in the slave processes. for interrupt in the main process,
just call exits() which will do the cleanup and restore window label
properly.

this makes completely overriding the note handler in gping and
stats uneccesary.

10 years agoresample: fix XRGB32 color channel handling
cinap_lenrek [Mon, 12 Aug 2013 17:28:10 +0000 (19:28 +0200)]
resample: fix XRGB32 color channel handling

10 years agoesd: enlightenment sound daemon
cinap_lenrek [Mon, 12 Aug 2013 01:43:42 +0000 (03:43 +0200)]
esd: enlightenment sound daemon

this program allows one to stream audio from linux/windows
to plan9 /dev/audio. sometimes handy to augment vnc sessions
with sound.

10 years agogames/doom: remove useless allocation of screen[0] buffer
cinap_lenrek [Sun, 11 Aug 2013 22:40:09 +0000 (00:40 +0200)]
games/doom: remove useless allocation of screen[0] buffer

screens 0-3 are already initialized by V_Init().

10 years agogames/juggle, games/catclock: keep up with queued mouse events
cinap_lenrek [Sun, 11 Aug 2013 22:08:51 +0000 (00:08 +0200)]
games/juggle, games/catclock: keep up with queued mouse events

many queued mouse events delay eresize() because
new ebread() takes from the queue first before attempting
to read from the event pipe. this is a waste of memory, so
just process (dequeue) all the events as long as there are
any on each iteration.

10 years agocatclock: protect black border with clip rectangle and dont print when window is...
cinap_lenrek [Mon, 12 Aug 2013 21:31:53 +0000 (23:31 +0200)]
catclock: protect black border with clip rectangle and dont print when window is too small

10 years agoether6105m: increase timeouts for Soekris 5501s (from sources)
cinap_lenrek [Sun, 11 Aug 2013 16:32:42 +0000 (18:32 +0200)]
ether6105m: increase timeouts for Soekris 5501s (from sources)

10 years agocreate /sys/lib/ssl
cinap_lenrek [Sun, 11 Aug 2013 16:23:22 +0000 (18:23 +0200)]
create /sys/lib/ssl

10 years agovt: fix off by one memory corruption
cinap_lenrek [Sun, 11 Aug 2013 06:34:34 +0000 (08:34 +0200)]
vt: fix off by one memory corruption

account for the final 0 byte in host_buf.

10 years agolibdraw: make ebread() return buffer immidiately if available, cleanup
cinap_lenrek [Sun, 11 Aug 2013 06:31:53 +0000 (08:31 +0200)]
libdraw: make ebread() return buffer immidiately if available, cleanup

this reduces number of syscalls and improves performance for vt

10 years agolibdraw: fix ekbd() memory leak
cinap_lenrek [Sun, 11 Aug 2013 06:22:21 +0000 (08:22 +0200)]
libdraw: fix ekbd() memory leak

10 years agotm2sec: assume local timezone when Tm.zone[0] == 0 (fixes dossrv, zipfs timestamps)
cinap_lenrek [Sun, 11 Aug 2013 00:19:02 +0000 (02:19 +0200)]
tm2sec: assume local timezone when Tm.zone[0] == 0 (fixes dossrv, zipfs timestamps)

from the manual:

Tm2sec converts a broken-down time to seconds since the
start of the epoch.  It ignores wday, and assumes the local
time zone if zone is not GMT.

so we can assume localtime if Tm.zone is not set to GMT.

all code that wants no localtime conversion should set
Tm.zone explicitely to GMT. (see previous commits)

tm2sec() now does the reverse of localtime() when Tm.zone[0] == 0
which seems to be what the calling code (dossrv, zipfs) assumes.
this also makes sense because theres no simple way todo it
outside of libc as theres otherwise no access to the timezone
structure with the daylight saving periods.

10 years agocifs: fix timezone for timestamps
cinap_lenrek [Sat, 10 Aug 2013 23:36:03 +0000 (01:36 +0200)]
cifs: fix timezone for timestamps

tm2sec() ignores tm.tzoff and will use the local timezone for
conversion. to make it work right, we convert the dos timestamp
as GMT and then correct timezone with the offset provided by the
server.

10 years agoauth(8) commands: fix uninitialized Tm.zone in getdate()
cinap_lenrek [Sun, 11 Aug 2013 21:21:13 +0000 (23:21 +0200)]
auth(8) commands: fix uninitialized Tm.zone in getdate()

10 years agoTEQ with S bit = 0 would be pointless, so ARM uses this case to encode "miscellaneous"
cinap_lenrek [Sat, 10 Aug 2013 14:40:36 +0000 (16:40 +0200)]
TEQ with S bit = 0 would be pointless, so ARM uses this case to encode "miscellaneous"
instructions like BKPT, BX and BLX.  Decoding these correctly allows db/acid to
single step through BX and BLX on armv5t+, and to show a breakpoint instruction
as 'BKPT $#0' instead of 'TEQ R0@>R0,R0'.

10 years agotcp113: fix null list in concatenation error
cinap_lenrek [Sat, 10 Aug 2013 06:55:39 +0000 (08:55 +0200)]
tcp113: fix null list in concatenation error

10 years agonusb/kb: *really* only send to mousein when mouse state actually changes (zero detlas...
cinap_lenrek [Sat, 10 Aug 2013 06:47:43 +0000 (08:47 +0200)]
nusb/kb: *really* only send to mousein when mouse state actually changes (zero detlas, same buttons)

10 years agorevert previous commit... stupid idea
cinap_lenrek [Sat, 10 Aug 2013 06:37:13 +0000 (08:37 +0200)]
revert previous commit... stupid idea

10 years agonusb/kb: only send to mousein when mouse state actually changes
cinap_lenrek [Sat, 10 Aug 2013 05:59:54 +0000 (07:59 +0200)]
nusb/kb: only send to mousein when mouse state actually changes

10 years agorio: fix unused variable warning in wscroll()
cinap_lenrek [Sat, 10 Aug 2013 01:58:52 +0000 (03:58 +0200)]
rio: fix unused variable warning in wscroll()

10 years agorio: shorten overlong window labels
cinap_lenrek [Sat, 10 Aug 2013 01:54:55 +0000 (03:54 +0200)]
rio: shorten overlong window labels

10 years agomothra: log post data with debug flag, increase max token length from 1K to 4K
cinap_lenrek [Fri, 9 Aug 2013 16:23:08 +0000 (18:23 +0200)]
mothra: log post data with debug flag, increase max token length from 1K to 4K

10 years agomerge
cinap_lenrek [Fri, 9 Aug 2013 15:25:57 +0000 (17:25 +0200)]
merge

10 years agomothra: fix nil pointer dereference
cinap_lenrek [Fri, 9 Aug 2013 15:24:48 +0000 (17:24 +0200)]
mothra: fix nil pointer dereference

10 years ago/lib/br: That's no way to treat a friend.
stanley lieber [Wed, 7 Aug 2013 23:53:51 +0000 (19:53 -0400)]
/lib/br: That's no way to treat a friend.

10 years agosam: avoid thread stack overflow with 32bit runes (from sources)
cinap_lenrek [Wed, 7 Aug 2013 23:44:20 +0000 (01:44 +0200)]
sam: avoid thread stack overflow with 32bit runes (from sources)

10 years agocwfs: fix out of order replies
cinap_lenrek [Wed, 7 Aug 2013 23:07:01 +0000 (01:07 +0200)]
cwfs: fix out of order replies

using a shared reply queue and a pool of worker procs does
result in replies to be send out of order under some conditions.
the symptoms are mnt errors when interrupting requests (Rflush
arriving before the original requests response).

this change gives each connection its own reply queue and its
own srvo process. so now a connection consists of one reply
queue, a srvi process reading the connections file descriptor
and a srvo process reading the reply queue and writng replies
to the connections file descriptor.

the srvi processes live as long as the connection is established.
the srvo prcoesses live forever and are attached to the chan
(which gets reused).

to avoid excessive process creation, we limit the number of
connections to 30. srvchan() returns nil when all 30 network
channels are in use.

10 years agoups: fix typo
stanley lieber [Wed, 7 Aug 2013 01:38:56 +0000 (21:38 -0400)]
ups: fix typo

10 years agoups: give me my computer
stanley lieber [Wed, 7 Aug 2013 01:36:11 +0000 (21:36 -0400)]
ups: give me my computer

10 years agocwfs: use atomic compare and swap to avoid semacquire() syscalls in new queue impleme...
cinap_lenrek [Tue, 6 Aug 2013 23:32:11 +0000 (01:32 +0200)]
cwfs: use atomic compare and swap to avoid semacquire() syscalls in new queue implementation

10 years agofortunes: God bless the people who employ you, they need the blessing.
stanley lieber [Tue, 6 Aug 2013 18:52:13 +0000 (14:52 -0400)]
fortunes: God bless the people who employ you, they need the blessing.

10 years agowikifmt: handle & as & in anchor name, cleanup
cinap_lenrek [Mon, 5 Aug 2013 04:25:23 +0000 (06:25 +0200)]
wikifmt: handle & as & in anchor name, cleanup

10 years agowikifmt: more complete title to name= anchor translation
cinap_lenrek [Mon, 5 Aug 2013 04:17:24 +0000 (06:17 +0200)]
wikifmt: more complete title to name= anchor translation

10 years agorio: make sure flush replies are send only *after* the request got flushed or was...
cinap_lenrek [Mon, 5 Aug 2013 02:21:34 +0000 (04:21 +0200)]
rio: make sure flush replies are send only *after* the request got flushed or was replied

due to the xfid handlers clearing flushtag too early, xfidflush might respond too early
causing spurious replies send later by the handler. now, we clear the flushtag in
filsysrespond *after* the reply was send. xfidflush will wait for us on the active
qlock.

10 years agounsticky scrollbars
cinap_lenrek [Sun, 4 Aug 2013 22:25:40 +0000 (00:25 +0200)]
unsticky scrollbars

scrollbars used to put the mouse on the scrollbar while scrolling. if latency
is high, this often results to the cursor jumping back. instead, make button 2
srolling work without needing the mouse to be inside the scrollbar and leave
the mouse position alone.

10 years agofix this megashit
cinap_lenrek [Mon, 5 Aug 2013 20:31:37 +0000 (22:31 +0200)]
fix this megashit

10 years agomerge
cinap_lenrek [Mon, 5 Aug 2013 20:27:06 +0000 (22:27 +0200)]
merge

10 years agocwfs: rollback last change
cinap_lenrek [Mon, 5 Aug 2013 20:25:52 +0000 (22:25 +0200)]
cwfs: rollback last change

the ref qlock is required to keep requests in order for flushes, sorry.

10 years agocwfs: remove reflock
cinap_lenrek [Mon, 5 Aug 2013 20:07:50 +0000 (22:07 +0200)]
cwfs: remove reflock

queues allow multiple readers, reflock seems unneccesary.

10 years agocwfs: faster queue implementation using semacquire()
cinap_lenrek [Sun, 4 Aug 2013 04:47:56 +0000 (06:47 +0200)]
cwfs: faster queue implementation using semacquire()

10 years agorio: add ^B control sequence to move cursor to output point
cinap_lenrek [Sun, 4 Aug 2013 04:45:58 +0000 (06:45 +0200)]
rio: add ^B control sequence to move cursor to output point

10 years agoapply richard millers arm debug fixes (from sources)
cinap_lenrek [Sat, 3 Aug 2013 23:52:46 +0000 (01:52 +0200)]
apply richard millers arm debug fixes (from sources)

From richard:

A couple of patches applied yesterday should make debugging on ARM a
bit more reliable.  Using db or acid on ARM, you may have noticed that
a program being debugged would sometimes execute through a breakpoint
without stopping, or run away while being single stepped.  It turns out,
as often happens, that one symptom had two separate causes.  For details:
/n/sources/patch/applied/5db-condcode/readme
/n/sources/patch/applied/arm-bkpt-cond/readme

To take advantage of the patches, rebuild libmach.a, then acid and db.
On machines with a kw kernel (sheevaplug et al), you'll also want to
rebuild /arm/9plug; otherwise breakpoints will stop working at all.
The new 9plug will, however, still work with the old libmach; and
the bcm and teg2 kernels are already compatible with the new libmach.

10 years agodns: ignore spam addresses from cname answers
cinap_lenrek [Sat, 3 Aug 2013 22:52:39 +0000 (00:52 +0200)]
dns: ignore spam addresses from cname answers

10 years agopage: maintain a lru list and do unloading from oldest to newest
cinap_lenrek [Sat, 3 Aug 2013 15:37:20 +0000 (17:37 +0200)]
page: maintain a lru list and do unloading from oldest to newest

10 years agolibhtml: handle ' character reference
cinap_lenrek [Sat, 3 Aug 2013 03:45:40 +0000 (05:45 +0200)]
libhtml: handle ' character reference

the ' is not strickly html, but can appear in xhtml files.

10 years agopage: use less aggressive read ahead and keep track of image memory allocation
cinap_lenrek [Sat, 3 Aug 2013 02:11:24 +0000 (04:11 +0200)]
page: use less aggressive read ahead and keep track of image memory allocation

10 years agodo not limit kernelpercent IFF *imagemaxmb= is used on a cpu server
cinap_lenrek [Fri, 2 Aug 2013 15:52:51 +0000 (17:52 +0200)]
do not limit kernelpercent IFF *imagemaxmb= is used on a cpu server

the heuristics that limits kernel memory on a cpu server to
a fixed amout (64MB + size for page tables) makes using devdraw
impractical.

if *imagemaxmb= is specified, we can assume that the draw device
will be used so we want to get a reasonable amount (30% default)
of kernel memory.

10 years agoinst: remove systype step. system will be terminal with a disk after installation.
cinap_lenrek [Fri, 2 Aug 2013 01:47:27 +0000 (03:47 +0200)]
inst: remove systype step. system will be terminal with a disk after installation.

10 years agomerge
cinap_lenrek [Fri, 2 Aug 2013 01:24:49 +0000 (03:24 +0200)]
merge

10 years agosmtp: fix -t flag
cinap_lenrek [Thu, 1 Aug 2013 23:22:53 +0000 (01:22 +0200)]
smtp: fix -t flag

10 years agotcp993: we're not plan9.bell-labs.com
stanley lieber [Thu, 1 Aug 2013 03:45:21 +0000 (23:45 -0400)]
tcp993: we're not plan9.bell-labs.com

10 years agoadd /lib/br
stanley lieber [Wed, 31 Jul 2013 00:52:23 +0000 (20:52 -0400)]
add /lib/br

10 years agoether82567: determine phy number by probing phy id registers
cinap_lenrek [Tue, 30 Jul 2013 20:51:40 +0000 (22:51 +0200)]
ether82567: determine phy number by probing phy id registers

link status not working on 82567 was due to wrong phy number
used. instead of hardcoding the phy numbers, probe the phys
by reading id1 and id2 registers (code stolen from ethermii).

10 years agoether82563: make link status work for 82567
cinap_lenrek [Mon, 29 Jul 2013 00:32:16 +0000 (02:32 +0200)]
ether82563: make link status work for 82567

on the 82567, reading any phy register just gives 0 back.
however, the card works just fine and no action is required
to (re-)start auto negotiation. so we add maclproc() which just
reads the speed setting and link status from the mac status
register instead of reading the phy registers.

we'v probably seen this symptom on other cards (link: 0) like
82566. we should test if we can make link status work on
these cards as well by just using the maclproc().

10 years agoether82598, etherigbe: remove receive buffer pool optimization
cinap_lenrek [Sat, 27 Jul 2013 10:39:34 +0000 (12:39 +0200)]
ether82598, etherigbe: remove receive buffer pool optimization

10 years agoether82563: fix mistake (missing buffer alignment)
cinap_lenrek [Sat, 27 Jul 2013 08:33:51 +0000 (10:33 +0200)]
ether82563: fix mistake (missing buffer alignment)

10 years agoether82563: remove buffer pool optimizations
cinap_lenrek [Sat, 27 Jul 2013 07:25:36 +0000 (09:25 +0200)]
ether82563: remove buffer pool optimizations

rx pool exhaustion causes the system to deadlock when netbooted.
queue management should (etheroq) already makes sure the systen
can keep up with the data thowing away buffers.

10 years agoether82563, etheriwl, pmmc: fix potential multiprocessor races with wakeup
cinap_lenrek [Fri, 26 Jul 2013 02:37:32 +0000 (04:37 +0200)]
ether82563, etheriwl, pmmc: fix potential multiprocessor races with wakeup

make sure that the wakeup enable conditions
are seen by different processors before sleep
is called.

the problems havnt been observed so far.

10 years agoether82563: avoid deadlock due to icansleep() trying to acquire Rbpool.Lock
cinap_lenrek [Thu, 25 Jul 2013 23:51:03 +0000 (01:51 +0200)]
ether82563: avoid deadlock due to icansleep() trying to acquire Rbpool.Lock

icansleep() violates the lock ordering due to the following cases:

rbfree(): ilock(Rbpool.Lock) -> wakeup(): spli(), lock(Rbpool.Rendez)
sleep(): splhi(), lock(Rbpool.Rendez) -> icansleep(): ilock(Rbpool.Lock)

erik fixed this moving the wakeup() out of the ilock() in rbfree(),
but i think it is an error to try acquiering a ilock in sleeps wait
condition function in general.

so this is what we do:

in the icansleep() function, we check for the *real* event we care about;
that is, if theres a buffer available in the Rbpool. this is to handle
the case when rbfree() makes a buffer available *before* it sees us
setting p->starve = 1.

p->starve is now just used to gate rbfree() from calling wakeup() as
an optimization.

this might cause spurious wakeups but they are not a problem. missed
wakeups is the thing we have to prevent.

10 years agoether82563: work arround for 82579LM on Lenovo X230
cinap_lenrek [Wed, 24 Jul 2013 20:17:13 +0000 (22:17 +0200)]
ether82563: work arround for 82579LM on Lenovo X230

dont reset the the phy on reset as this causes the link
to be stuck at 10mbps.

10 years agoetherrt2860: add rt3090 support and make style more consistent
ppatience0 [Sun, 21 Jul 2013 22:13:27 +0000 (18:13 -0400)]
etherrt2860: add rt3090 support and make style more consistent

10 years agoreadtif, writetif: remove multiplication in inner loops of predict functions
ppatience0 [Sun, 21 Jul 2013 14:56:11 +0000 (10:56 -0400)]
readtif, writetif: remove multiplication in inner loops of predict functions

10 years agoapply erik quanstros tcp-bdp patch (from sources)
cinap_lenrek [Sun, 21 Jul 2013 12:41:51 +0000 (14:41 +0200)]
apply erik quanstros tcp-bdp patch (from sources)

this patch consists of two bits of work submitted as one
patch.

the first bit fixed a "pacing" problem, where a tcp connection
rate-limited by the reading process would experience 10%
of the expected throughput, and could even get into live
lock.  it was noticed at the time of this initial work that
the stack often sent tiny grams.  some good bits from nix'
original tcp were merged in.  the test program
/n/sources/contrib/quanstro/tcptest.c
will verify that under most conditions, a reader-paced connection
now gets the expected throughput.  expected arguments
would be
tcptest -s1 -n 5000 -l

the second bit is a first step in preparing tcp to handle
modest (1-2MB) bandwidth-delay products.  the strategy
was to completely implement NewReno.  the testing network
was a 7/35/70ms by 100Mbit wan emulator with 0/.05/.1% loss.
here are the performance comparisons from the changes after
the first round "old" to the submitted patch "new".  the
smallest improvement was 80%, the largest was 11x.

loss% rtt old new
0.10 7 4.40 7.85
0.10 35 0.88 1.79
0.10 70 0.47 0.84
0.05 7 4.80 9.38
0.05 35 1.00 2.02
0.05 70 0.52 1.77
0.01 7 5.33 11.87
0.01 35 1.14 10.97
0.01 70 0.54 4.75
0.00 7 4.49 11.92
0.00 35 1.04 11.35
0.00 70 0.58 10.56

since the diff is not very easy to read, i wrote a small
paper detailing the changes

http://www.quanstro.net/plan9/tcp/tcp.pdf

- erik

10 years agoabaco: use faster resize instead of resample for image scaling
cinap_lenrek [Sat, 20 Jul 2013 22:55:56 +0000 (00:55 +0200)]
abaco: use faster resize instead of resample for image scaling

10 years agoreadtif: simplify rounding in other places
ppatience0 [Sat, 20 Jul 2013 22:19:20 +0000 (18:19 -0400)]
readtif: simplify rounding in other places

10 years agoreadtif, writetif: simplify rounding
ppatience0 [Sat, 20 Jul 2013 22:00:34 +0000 (18:00 -0400)]
readtif, writetif: simplify rounding

10 years agoreadtif: if getbit returns less than 0 during eol fill bits, return early
ppatience0 [Sat, 20 Jul 2013 20:56:29 +0000 (16:56 -0400)]
readtif: if getbit returns less than 0 during eol fill bits, return early

10 years agoreadtif, writetif: prevent buffer overflows in some corner cases
ppatience0 [Sat, 20 Jul 2013 20:42:33 +0000 (16:42 -0400)]
readtif, writetif: prevent buffer overflows in some corner cases

10 years agotojpg, totif: change flags to better match those of the decoders
ppatience0 [Sat, 20 Jul 2013 16:11:52 +0000 (12:11 -0400)]
tojpg, totif: change flags to better match those of the decoders

10 years agoreadtif: fix many bugs
ppatience0 [Fri, 19 Jul 2013 06:16:43 +0000 (02:16 -0400)]
readtif: fix many bugs

totif: add tiff encoder

10 years agowritejpg: the call to Bflush() is unnecessary; free data before exiting in case of...
ppatience0 [Fri, 19 Jul 2013 05:07:15 +0000 (01:07 -0400)]
writejpg: the call to Bflush() is unnecessary; free data before exiting in case of malloc error

writeppm: do not print a space after the last pixel

10 years agomothra: use pldraw() to put cmd box on screen for alt display
cinap_lenrek [Thu, 18 Jul 2013 18:56:19 +0000 (20:56 +0200)]
mothra: use pldraw() to put cmd box on screen for alt display

the cmd box is not part of the alt display hirarchy. for command
typing to show the box in alt display, we call pldraw() on it
in eresized() to initialize its cmd->b image so it knows where to
draw itself on typing.

10 years agowpa: wait for bss to connect
cinap_lenrek [Thu, 18 Jul 2013 14:16:31 +0000 (16:16 +0200)]
wpa: wait for bss to connect

waiting at the auth command is too late because we want to
read the brsne first to build the rsne used in the auth message.

10 years agowifi: make "auth" command non-blocking, let aux/wpa do the waiting for bss scan to...
cinap_lenrek [Thu, 18 Jul 2013 13:30:53 +0000 (15:30 +0200)]
wifi: make "auth" command non-blocking, let aux/wpa do the waiting for bss scan to complete.

10 years agocwfs: add rtmp flag for check command to remove temporary files after recover
cinap_lenrek [Thu, 18 Jul 2013 13:04:37 +0000 (15:04 +0200)]
cwfs: add rtmp flag for check command to remove temporary files after recover

10 years agomothra: restore usage fix, document -a option in manual
cinap_lenrek [Thu, 18 Jul 2013 09:18:31 +0000 (11:18 +0200)]
mothra: restore usage fix, document -a option in manual

10 years agomothra: add -a flag to start in alt-display mode
cinap_lenrek [Thu, 18 Jul 2013 09:03:39 +0000 (11:03 +0200)]
mothra: add -a flag to start in alt-display mode

10 years agomothra: fix usage
stanley lieber [Thu, 18 Jul 2013 00:25:57 +0000 (20:25 -0400)]
mothra: fix usage

10 years agoabaco: remove unused stuff, move pipeline() into util.c
cinap_lenrek [Sun, 14 Jul 2013 16:37:10 +0000 (18:37 +0200)]
abaco: remove unused stuff, move pipeline() into util.c

10 years agoabaco: simplify, pipeline html directly thru uhtml
cinap_lenrek [Sun, 14 Jul 2013 16:31:07 +0000 (18:31 +0200)]
abaco: simplify, pipeline html directly thru uhtml

10 years agouhtml: honor default charset -c when not found in document
cinap_lenrek [Sun, 14 Jul 2013 14:44:16 +0000 (16:44 +0200)]
uhtml: honor default charset -c when not found in document

10 years agoabaco: use uhtml to handle charset conversions
cinap_lenrek [Sun, 14 Jul 2013 14:31:59 +0000 (16:31 +0200)]
abaco: use uhtml to handle charset conversions