From owner-freebsd-stable@FreeBSD.ORG Sat Apr 13 08:29:55 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DA0E1716 for ; Sat, 13 Apr 2013 08:29:55 +0000 (UTC) (envelope-from markiyan.kushnir@gmail.com) Received: from mail-ee0-f50.google.com (mail-ee0-f50.google.com [74.125.83.50]) by mx1.freebsd.org (Postfix) with ESMTP id 70F9A833 for ; Sat, 13 Apr 2013 08:29:54 +0000 (UTC) Received: by mail-ee0-f50.google.com with SMTP id e53so1592111eek.23 for ; Sat, 13 Apr 2013 01:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=MlFmpPIsvrShZEutMRzhbVpr+2WQ01KOUIlJgNYSMjo=; b=T9eW8PRCPglA0fcY2sJVmfFChpacSABEf+I1KovAoLzdqAEv+GUTkpzG83zoEqOaj5 SjdiP4obXp6bdvWTh7Q0IQ7oVyq9qbKtgIT/w+BzdX3xlqnJDtcAN4x1QHjUs6RyvCfq V5F0AHo6nSnk6epUo5C66dtM5xpkoSeDQQnxJEFwv/lSaVGj8AEZIFL31qTK2rIdSiyD ijhZHwrbihnn0f9sOEvY15CqKY/IT/1iPtgqC7Q+FcsjCwbE5aeyW4CXbSCwGhus+ItD 27OHaRdQc29DQaoS9v8eEC5tBa5JuhfzQn0nmNKkhHHh9CDI1AGPdOt7q6R7X2uAe8aK IRYA== X-Received: by 10.15.76.132 with SMTP id n4mr36825674eey.16.1365841793193; Sat, 13 Apr 2013 01:29:53 -0700 (PDT) Received: from mkushnir.zapto.org (254-173-124-91.pool.ukrtel.net. [91.124.173.254]) by mx.google.com with ESMTPS id a41sm15254082eei.4.2013.04.13.01.29.52 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 13 Apr 2013 01:29:52 -0700 (PDT) Message-ID: <51691775.3000006@gmail.com> Date: Sat, 13 Apr 2013 11:29:41 +0300 From: Markiyan Kushnir User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121119 Thunderbird/16.0.2 MIME-Version: 1.0 To: freebsd-stable@freebsd.org Subject: Re: svn - but smaller? References: <55f7d158-b02d-49f4-8181-8711be8d5647@googlegroups.com> In-Reply-To: <55f7d158-b02d-49f4-8181-8711be8d5647@googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Apr 2013 08:29:55 -0000 The only thing I would like to add -- tree lookup did make a good effect on CPU consumption. -- Markiyan. On 13.04.2013 10:38, mrboco@gmail.com wrote: >> 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-unsubscribe@freebsd.org" >