From owner-freebsd-mips@freebsd.org Wed Oct 28 04:47:57 2015 Return-Path: Delivered-To: freebsd-mips@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22111A1F532 for ; Wed, 28 Oct 2015 04:47:57 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x22a.google.com (mail-io0-x22a.google.com [IPv6:2607:f8b0:4001:c06::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DA34C13C9 for ; Wed, 28 Oct 2015 04:47:56 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by iody8 with SMTP id y8so88926832iod.1 for ; Tue, 27 Oct 2015 21:47:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=MPaPHvHQ5CiaY29eHsBg875iC7qvwGiYOQY9jJb9t34=; b=NVKGR4tGqhtvRxK+aLqfRPD63kSxoLRbPEK4Zjtp9R6o1XqpEDnAhlEng1UaDk4iX+ h072LaPjGkL1ZTWdHQwz5okci23ZwV4eNNXPweh+3DotQ8HBUcX7ZAKR5dvLxcKEm+tN N396BTIHZRSXJgdb2yIkARZT2FjJllpRv0zkfHkc1glcXLudHwgbqhsCQRNYl9jt4jqQ RbpTsccSKLxvvibPrC+dMo+rgYz8FYCfBXmBIOtdjfhrznzRjipvuI/fTm6H340RrpHT QsMdLYBXJXjD7Acjkb8ooY20jBoDlPqaqKuVZAZEOJ/lfEqCwZ1lYrXyaPFFjAWVQafD CDtA== MIME-Version: 1.0 X-Received: by 10.107.152.2 with SMTP id a2mr34162450ioe.123.1446007676217; Tue, 27 Oct 2015 21:47:56 -0700 (PDT) Received: by 10.36.46.66 with HTTP; Tue, 27 Oct 2015 21:47:56 -0700 (PDT) In-Reply-To: References: <562CBEC3.8030308@rdtc.ru> <562E3027.4020806@grosbein.net> <562F75E2.9000505@grosbein.net> Date: Tue, 27 Oct 2015 21:47:56 -0700 Message-ID: Subject: Re: arge1 on TL WDR3600 From: Adrian Chadd To: Eugene Grosbein Cc: "freebsd-mips@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Oct 2015 04:47:57 -0000 So, I fired up hwpmc. uncomment hwpmc/hwpmc_mips74k/HWPMC_HOOKS in the relevant kernel file (AR934X_BASE, QCA955X_BASE). pmc just works(tm). Here's the output from doing iperf across the interfaces; it's doing ~ 220mbit of IP routing: PMC: [CYCLES] Samples: 45578 (100.0%) , 0 unresolved %SAMP IMAGE FUNCTION CALLERS 5.1 kernel arge_intr 4.8 kernel ip_forward 4.3 kernel memcpy 4.0 kernel _bus_dmamap_sync 3.8 libpmc.so. pmclog_read 3.6 kernel ip_input 3.4 kernel _bus_dmamap_load_buf 3.3 kernel ip_output 2.9 kernel ether_nh_input 2.7 kernel uma_zfree_arg 2.7 kernel mb_ctor_pack 2.3 kernel qca955x_chip_ddr_flu 2.2 kernel if_transmit 2.2 kernel __rw_rlock 2.2 kernel mipsNN_pdcache_inv_r 2.2 kernel _bus_dmamap_unload 2.2 kernel netisr_dispatch_src 2.2 kernel ether_output 1.8 kernel bridge_input 1.6 kernel arge_start_locked .. I dunno why arge_intr() is triggering so much but yeah, that should be fixed. that memcpy() shows up in bridging as well, so it's either an artefact from sampling or it's actually some copy in the packet processing or busdma path that needs to be addressed. -adrian