> In the previous version (0.61), the process of checking > file names against the list of known files in the > repository was inefficient and most likely accounts for > the slow down you're seeing. I've reimplemented it using > a binary search tree and the lookup phase is no longer a > bottleneck.
I'm sorry but 0.62 still locks while fetching from a local repository: last pid: 74701; load averages: 2.24, 2.52, 2.56 up 772+03:32:23 13:19:55 96 processes: 2 running, 94 sleeping CPU: 14.8% user, 0.0% nice, 40.3% system, 0.7% interrupt, 44.2% idle Mem: 1191M Active, 436M Inact, 248M Wired, 76M Cache, 112M Buf, 50M Free Swap: 1024M Total, 232M Used, 792M Free, 22% Inuse PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 30193 root 1 117 0 56220K 9108K CPU1 1 99:16 96.39% svnup The send/receive queues are filled up and not changing over time: root@alpha:~# netstat -an | fgrep -w 3690 tcp4 8192 24576 81.30.199.66.3690 81.30.199.66.44473 ESTABLISHED tcp4 24576 16384 81.30.199.66.44473 81.30.199.66.3690 ESTABLISHED tcp4 0 0 *.3690 *.* LISTEN root@alpha:~# kdump | head -40 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) 30193 svnup RET write -1 errno 35 Resource temporarily unavailable 30193 svnup CALL write(0x3,0x8843a000,0xd91) I think you should either use blocking IO or catch IO errors. And please consider to set the socket options too. Thanks. _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"