From owner-freebsd-bugs@FreeBSD.ORG Sun Apr 22 14:10:11 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D843B106566B for ; Sun, 22 Apr 2012 14:10:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 978F28FC12 for ; Sun, 22 Apr 2012 14:10:11 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q3MEAB6u035978 for ; Sun, 22 Apr 2012 14:10:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q3MEABq0035977; Sun, 22 Apr 2012 14:10:11 GMT (envelope-from gnats) Resent-Date: Sun, 22 Apr 2012 14:10:11 GMT Resent-Message-Id: <201204221410.q3MEABq0035977@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Eugene Grosbein Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 614C5106567B for ; Sun, 22 Apr 2012 14:06:06 +0000 (UTC) (envelope-from eugen@grosbein.pp.ru) Received: from grosbein.pp.ru (grosbein.pp.ru [89.189.172.146]) by mx1.freebsd.org (Postfix) with ESMTP id 809608FC1E for ; Sun, 22 Apr 2012 14:06:05 +0000 (UTC) Received: from grosbein.pp.ru (localhost [127.0.0.1]) by grosbein.pp.ru (8.14.5/8.14.5) with ESMTP id q3ME61J1003677 for ; Sun, 22 Apr 2012 21:06:01 +0700 (NOVT) (envelope-from eugen@grosbein.pp.ru) Received: (from eugen@localhost) by grosbein.pp.ru (8.14.5/8.14.5/Submit) id q3ME61Gw003676; Sun, 22 Apr 2012 21:06:01 +0700 (NOVT) (envelope-from eugen) Message-Id: <201204221406.q3ME61Gw003676@grosbein.pp.ru> Date: Sun, 22 Apr 2012 21:06:01 +0700 (NOVT) From: Eugene Grosbein To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/167204: terrible "netstat -rn" performance due to slow kvm_nlist() X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Apr 2012 14:10:11 -0000 >Number: 167204 >Category: kern >Synopsis: terrible "netstat -rn" performance due to slow kvm_nlist() >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 22 14:10:10 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Eugene Grosbein >Release: FreeBSD 8.3-PRERELEASE i386 >Organization: RDTC JSC >Environment: System: FreeBSD grosbein.pp.ru 8.3-PRERELEASE >Description: My home router runs FreeBSD/i386 on AMD Geode: %uname -a FreeBSD gw.grosbein.pp.ru 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #1: Tue Mar 6 23:11:20 NOVT 2012 root@grosbein.pp.ru:/usr/local/obj/nanobsd.gw/i386/usr/local/src/sys/GW i386 %grep CPU /var/run/dmesg.boot CPU: Geode(TM) Integrated Processor by AMD PCS (499.91-MHz 586-class CPU) It has no IPv6 in the kernel config and pretty small routing table: %sh -c 'time netstat -rn | wc -l' 1.47 real 0.00 user 1.06 sys 30 As you can see, it takes more than a second for 'netstat -rn' to complete. Most of time it spends calling kldsym() system call from kvm_nlist() function: %kdump | fgrep -c 'CALL kldsym(0,KLDSYM_LOOKUP' 347 For some unknown reason, the performace of this syscall is way too bad. >How-To-Repeat: Run "time netstat -rn" >Fix: Unknown >Release-Note: >Audit-Trail: >Unformatted: