netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: bhutchings@solarflare.com
Cc: hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com,
	netdev@vger.kernel.org, linux-net-drivers@solarflare.com,
	x86@kernel.org
Subject: Re: [PATCH 2/3] x86_64: Define 128-bit memory-mapped I/O operations
Date: Tue, 21 Aug 2012 19:34:46 -0700 (PDT)	[thread overview]
Message-ID: <20120821.193446.1534561579811962053.davem@davemloft.net> (raw)
In-Reply-To: <1345601051.2659.93.camel@bwh-desktop.uk.solarflarecom.com>

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 22 Aug 2012 03:04:11 +0100

> On Tue, 2012-08-21 at 18:37 -0700, H. Peter Anvin wrote:
>> On 08/21/2012 06:23 PM, Ben Hutchings wrote:
>> > Define reado(), writeo() and their raw counterparts using SSE.
>> > 
>> > Based on work by Stuart Hodgson <smhodgson@solarflare.com>.
>> 
>> It would be vastly better if we explicitly controlled this with
>> kernel_fpu_begin()/kernel_fpu_end() rather than hiding it in primitives
>> than might tempt the user to do very much the wrong thing.
>> 
>> Also, it needs to be extremely clear to the user that these operations
>> use the FPU, and all the requirements there need to be met, including
>> not using them at interrupt time.
> 
> Well we can sometimes use the FPU state at IRQ time, can't we
> (irq_fpu_usable())?   So we might need, say, try_reado() and
> try_writeo() with callers expected to fall back to alternatives.  (Which
> they must have anyway for any architecture that doesn't support this.)

I really hope we eventually get rid of this rediculous restriction the
x86 code has.

It really needs a proper stack of FPU state saves like sparc64 has.

Half of the code and complexity in arch/x86/crypto/ would just
disappear, because most of it has to do with handling this obtuse
FPU usage restriction which shouldn't even be an issue in the first
place.

I continually see more and more code that has to check this
irq_fpu_usable() thing, and have ugly fallback code, and therefore is
a sign that this really needs to be fixed properly.

  reply	other threads:[~2012-08-22  2:34 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-22  1:17 [PATCH 0/3] x86_64, sfc: 128-bit memory-mapped I/O Ben Hutchings
2012-08-22  1:20 ` [PATCH 1/3] x86_64: Define 128-bit types for kernel code only Ben Hutchings
2012-08-22  1:23 ` [PATCH 2/3] x86_64: Define 128-bit memory-mapped I/O operations Ben Hutchings
2012-08-22  1:37   ` H. Peter Anvin
2012-08-22  2:04     ` Ben Hutchings
2012-08-22  2:34       ` David Miller [this message]
2012-08-22  3:24         ` H. Peter Anvin
2012-08-22  3:29           ` David Miller
2012-08-22  3:49             ` H. Peter Anvin
2012-08-22  3:52           ` Linus Torvalds
2012-08-22  3:59             ` H. Peter Anvin
2012-08-22  4:14               ` David Miller
2012-08-22 21:14                 ` David Miller
2012-08-22 21:28                   ` Linus Torvalds
2012-08-22 21:38                     ` David Miller
2012-08-22  4:35               ` Linus Torvalds
2012-08-22  5:00                 ` David Miller
2012-08-22 14:06                   ` Linus Torvalds
2012-08-22  4:42             ` Linus Torvalds
2012-08-22 13:26             ` Ben Hutchings
2012-08-22 14:20               ` Linus Torvalds
2012-08-22 14:24                 ` Ben Hutchings
2012-08-22 14:30                   ` Benjamin LaHaise
2012-08-22 14:58                     ` Ben Hutchings
2012-08-22 15:13                       ` H. Peter Anvin
2012-08-22 15:27                         ` David Laight
2012-08-22 15:49                           ` H. Peter Anvin
2012-08-22 15:51                           ` Ben Hutchings
2012-08-22 15:54                             ` H. Peter Anvin
2012-08-22 16:44                               ` Ben Hutchings
2012-08-22 16:49                                 ` H. Peter Anvin
2012-08-22 16:55                                 ` Linus Torvalds
2012-08-22 17:09                                   ` Ben Hutchings
2012-08-22 17:12                                     ` H. Peter Anvin
2012-08-22 17:27                                       ` Ben Hutchings
2012-08-22 17:54                                         ` Linus Torvalds
2012-08-22 18:11                                           ` Ben Hutchings
2012-08-22 18:18                                             ` H. Peter Anvin
2012-08-22 18:28                                             ` Linus Torvalds
2012-08-22 19:01                                               ` Ben Hutchings
2012-08-22 17:26                                     ` Linus Torvalds
2012-08-22 16:51                               ` Linus Torvalds
2012-08-22 16:59                                 ` H. Peter Anvin
2012-08-22 15:51                           ` H. Peter Anvin
2012-08-22 14:50                   ` Linus Torvalds
2012-08-22 14:56                     ` Linus Torvalds
2012-08-22 15:05                       ` David Laight
2012-08-22 15:16                         ` Linus Torvalds
2012-08-22 15:41                     ` Ben Hutchings
2012-08-22 14:42                 ` David Laight
2012-08-22  1:26 ` [PATCH 3/3] sfc: Use __raw_writeo() to perform TX descriptor push where possible Ben Hutchings
2012-08-22  1:38 ` [PATCH 0/3] x86_64, sfc: 128-bit memory-mapped I/O H. Peter Anvin
2012-08-22  1:43   ` Ben Hutchings
2012-08-22  1:59     ` H. Peter Anvin
2012-08-22  2:10       ` Ben Hutchings
2012-08-22  2:31         ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120821.193446.1534561579811962053.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=bhutchings@solarflare.com \
    --cc=hpa@zytor.com \
    --cc=linux-net-drivers@solarflare.com \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).