summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-07/lib/br: That's no way to treat a friend.stanley lieber
2013-08-08sam: avoid thread stack overflow with 32bit runes (from sources)cinap_lenrek
2013-08-08cwfs: fix out of order repliescinap_lenrek
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.
2013-08-06ups: fix typostanley lieber
2013-08-06ups: give me my computerstanley lieber
2013-08-07cwfs: use atomic compare and swap to avoid semacquire() syscalls in new ↵cinap_lenrek
queue implementation
2013-08-06fortunes: God bless the people who employ you, they need the blessing.stanley lieber
2013-08-05wikifmt: handle & as & in anchor name, cleanupcinap_lenrek
2013-08-05wikifmt: more complete title to name= anchor translationcinap_lenrek
2013-08-05rio: make sure flush replies are send only *after* the request got flushed ↵cinap_lenrek
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.
2013-08-05unsticky scrollbarscinap_lenrek
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.
2013-08-05fix this megashitcinap_lenrek
2013-08-05mergecinap_lenrek
2013-08-05cwfs: rollback last changecinap_lenrek
the ref qlock is required to keep requests in order for flushes, sorry.
2013-08-05cwfs: remove reflockcinap_lenrek
queues allow multiple readers, reflock seems unneccesary.
2013-08-04cwfs: faster queue implementation using semacquire()cinap_lenrek
2013-08-04rio: add ^B control sequence to move cursor to output pointcinap_lenrek
2013-08-04apply richard millers arm debug fixes (from sources)cinap_lenrek
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.
2013-08-04dns: ignore spam addresses from cname answerscinap_lenrek
2013-08-03page: maintain a lru list and do unloading from oldest to newestcinap_lenrek
2013-08-03libhtml: handle ' character referencecinap_lenrek
the ' is not strickly html, but can appear in xhtml files.
2013-08-03page: use less aggressive read ahead and keep track of image memory allocationcinap_lenrek
2013-08-02do not limit kernelpercent IFF *imagemaxmb= is used on a cpu servercinap_lenrek
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.
2013-08-02inst: remove systype step. system will be terminal with a disk after ↵cinap_lenrek
installation.
2013-08-02mergecinap_lenrek
2013-08-02smtp: fix -t flagcinap_lenrek
2013-07-31tcp993: we're not plan9.bell-labs.comstanley lieber
2013-07-30add /lib/brstanley lieber
2013-07-30ether82567: determine phy number by probing phy id registerscinap_lenrek
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).
2013-07-29ether82563: make link status work for 82567cinap_lenrek
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().
2013-07-27ether82598, etherigbe: remove receive buffer pool optimizationcinap_lenrek
2013-07-27ether82563: fix mistake (missing buffer alignment)cinap_lenrek
2013-07-27ether82563: remove buffer pool optimizationscinap_lenrek
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.
2013-07-26ether82563, etheriwl, pmmc: fix potential multiprocessor races with wakeupcinap_lenrek
make sure that the wakeup enable conditions are seen by different processors before sleep is called. the problems havnt been observed so far.
2013-07-26ether82563: avoid deadlock due to icansleep() trying to acquire Rbpool.Lockcinap_lenrek
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.
2013-07-24ether82563: work arround for 82579LM on Lenovo X230cinap_lenrek
dont reset the the phy on reset as this causes the link to be stuck at 10mbps.
2013-07-21etherrt2860: add rt3090 support and make style more consistentppatience0
2013-07-21readtif, writetif: remove multiplication in inner loops of predict functionsppatience0
2013-07-21apply erik quanstros tcp-bdp patch (from sources)cinap_lenrek
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
2013-07-21abaco: use faster resize instead of resample for image scalingcinap_lenrek
2013-07-20readtif: simplify rounding in other placesppatience0
2013-07-20readtif, writetif: simplify roundingppatience0
2013-07-20readtif: if getbit returns less than 0 during eol fill bits, return earlyppatience0
2013-07-20readtif, writetif: prevent buffer overflows in some corner casesppatience0
2013-07-20tojpg, totif: change flags to better match those of the decodersppatience0
2013-07-19readtif: fix many bugsppatience0
totif: add tiff encoder
2013-07-19writejpg: the call to Bflush() is unnecessary; free data before exiting in ↵ppatience0
case of malloc error writeppm: do not print a space after the last pixel
2013-07-18mothra: use pldraw() to put cmd box on screen for alt displaycinap_lenrek
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.
2013-07-18wpa: wait for bss to connectcinap_lenrek
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.
2013-07-18wifi: make "auth" command non-blocking, let aux/wpa do the waiting for bss ↵cinap_lenrek
scan to complete.