From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752255AbbKPUcT (ORCPT ); Mon, 16 Nov 2015 15:32:19 -0500 Received: from shards.monkeyblade.net ([149.20.54.216]:41085 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751855AbbKPUcQ (ORCPT ); Mon, 16 Nov 2015 15:32:16 -0500 Date: Mon, 16 Nov 2015 15:32:14 -0500 (EST) Message-Id: <20151116.153214.1125103075112383723.davem@davemloft.net> To: Jason@zx2c4.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: irq_fpu_usable() is false in ndo_start_xmit() for UDP packets From: David Miller In-Reply-To: References: X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 16 Nov 2015 12:32:16 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Jason A. Donenfeld" Date: Mon, 16 Nov 2015 20:52:28 +0100 > This works fine with, say, iperf3 in TCP mode. The AVX performance > is great. However, when using iperf3 in UDP mode, irq_fpu_usable() > is mostly false! I added a dump_stack() call to see why, except > nothing looks strange; the initial call in the stack trace is > entry_SYSCALL_64_fastpath. Why would irq_fpu_usable() return false > when we're in a syscall? Doesn't that mean this is in process > context? Network device driver transmit executes with software interrupts disabled. Therefore on x86, you cannot use the FPU.