Date: Tue, 27 Oct 2015 21:47:56 -0700 From: Adrian Chadd <adrian.chadd@gmail.com> To: Eugene Grosbein <eugen@grosbein.net> Cc: "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org> Subject: Re: arge1 on TL WDR3600 Message-ID: <CAJ-Vmo=BRP-vyg5=7cyA9v9c_cDjo6Ozv0SLmNj3RZGCKjLYAg@mail.gmail.com> In-Reply-To: <CAJ-VmomocPQ=%2BjKYt8bsLHEWjT1vz=37U_yNB3YMsmxz__5qVw@mail.gmail.com> References: <562CBEC3.8030308@rdtc.ru> <CAJ-Vmok__9mD8OaFnU-sfVfr=xMRMW6-nfDUHScT_LNm6Ry2iA@mail.gmail.com> <562E3027.4020806@grosbein.net> <CAJ-VmonRt6OVOQDGLZBx-4OxbGgzcetuKtBf3eB-6yn3m-EEsQ@mail.gmail.com> <562F75E2.9000505@grosbein.net> <CAJ-VmomocPQ=%2BjKYt8bsLHEWjT1vz=37U_yNB3YMsmxz__5qVw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=BRP-vyg5=7cyA9v9c_cDjo6Ozv0SLmNj3RZGCKjLYAg>