Received: by 10.213.65.68 with SMTP id h4csp269768imn; Wed, 21 Mar 2018 18:28:22 -0700 (PDT) X-Google-Smtp-Source: AG47ELsmnIuOtX46ABRK6zcCi8XbpjcPaS1R3V+k31z+XRLCoepumjYu5NE4HvZMnb4A4tkNVn/e X-Received: by 10.99.120.196 with SMTP id t187mr16762235pgc.149.1521682102318; Wed, 21 Mar 2018 18:28:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521682102; cv=none; d=google.com; s=arc-20160816; b=UjMnnhJzRfPVzYoUyg3B4XNTU8EVQnULqwaIg5IVuu/37SbG5OS/gaf1DQoGXWCUwv E8FvwJVK5nH6BjYLKAMPDHCdiDS5wXBR7KZS09p2yuDIAm+fOx0di5VhVD6DHC+vCfJz tpzgvGGDhDZxch4gjhrxXPH5fME23bUmJJ4Lw3ajsS34OPOVF5SPBVqzay38quYvsgr8 6jVNGJMQvcypjdNJuXKQ31QX6c9lWT1IL5TdCwoxAtfiJF4t+TAZKTNzRPCSevFt4OHy /9lEudxPYBDyiF4SsgSDu/65Czlry+8FrmnIc21RETFwGyJrgxArWyTkvs8iFpvaTqvV M0Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=U42V84O2xVpd4Gxyj9wD11tkqZ1apRPW/dAM1AX9uT4=; b=QlLHlnx+0jnnrrk6Vd25CjtySMw42iCff8TacVTw+/mpKxjC29dKtGzInSL/By7LU4 KsAGdPXd47iPbJGbQNsS5p6YuxRf5J+O6tM7Hya9VP1scAZzEmQGKmzN9vLtP1IX0E51 ZBjznUQhTXF04NweKG1Vhq6BdpDb16RYq5icGXOyb2JyeGX6YcWvvfxxCoArMwLJls/+ /Sznw0P2W1PUoYPoxQ4LiCHi4cLSlkjSSSsxD+mxy1D0AsWFFxLyxpybiWITHs22kDyf kpphtnq6Y/oCC1AcnZKB0MWRU2h9b2XXeV/A7lFyccz2ejFvrL5QpkJbWPrmH7CsdexO HOKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=I7rwJ8+M; dkim=fail header.i=@linux-foundation.org header.s=google header.b=dohbPBam; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 23si4009060pfy.85.2018.03.21.18.28.07; Wed, 21 Mar 2018 18:28:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=I7rwJ8+M; dkim=fail header.i=@linux-foundation.org header.s=google header.b=dohbPBam; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753622AbeCVB0l (ORCPT + 99 others); Wed, 21 Mar 2018 21:26:41 -0400 Received: from mail-io0-f195.google.com ([209.85.223.195]:39541 "EHLO mail-io0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751604AbeCVB0j (ORCPT ); Wed, 21 Mar 2018 21:26:39 -0400 Received: by mail-io0-f195.google.com with SMTP id v13so8931938iob.6; Wed, 21 Mar 2018 18:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=U42V84O2xVpd4Gxyj9wD11tkqZ1apRPW/dAM1AX9uT4=; b=I7rwJ8+MG6Wo/CtXg+Ybk/frIdTvMPJeokbTvlwgmnK5/KuZyk9JA69l70UlsU8v3U j8BdO/U426exHmD7B1cIZ/EfzK8vV8YvIXMwv2qUbPFZtolIRPivaTspvOR4Dn5aG498 +m46EwZRbg7RcCXNsna1OHApnQQkjCCrIJ1Hfdzu11oL3seX8Tix12wq5pz/5eAMYPwp gvXXibZLTkPXglqcHrOxWPz1yZf2lvnppn4bIvBBdjQ7pVCz2/iRy7dIkj6Pr+biy6/j i4Yd0HmNIRlfZnFl5grag9VNZpmfJxchr28XwrxH0qbTYzHeOBQjZp5dVlAgRacTSm4E BWNw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=U42V84O2xVpd4Gxyj9wD11tkqZ1apRPW/dAM1AX9uT4=; b=dohbPBamimYIAYZ7CsQeM7v9I59TRTvVpd3Z5bV5Hzhy7Uvt73UD2aHBFy8s6STwT/ tp+huw6LYPp6f9ORxl+b+KPTtgtAxxK8/uLx8bur6tW0bcTpMusRU2RKkNYOFL3AsOOS K4/juXe0vw1ARFCmyvbQQJB/9GyB5mJ1TyFWA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=U42V84O2xVpd4Gxyj9wD11tkqZ1apRPW/dAM1AX9uT4=; b=I0Bwo5hgEwiXQCM4viglwDNLHXHf0c6cDw4nkKLdO5jxffSJJ1SDtE8HzpuHBe+yxM 93ogjLDR3ykzLugm2wpdc68h6JmkGLPDfNqgsh4X7FveLDyBbIbPNm8myJUQM+HoAJ89 vUHmIG4Y8bZrSn1Ky8MoCnb5AV7LaXeaBQoHCYqxdyXqh6XnRS4YcHix9SuUVoEsaoo6 e/UfWXKgrNedsDx4krAPMIAZ77WB0Zwbd6Ts6rPwscI30HJp1MpUw9z7aI9W/a8MtRiW XJ2hOdaCJhOvo7T1Y84aii3NAk6t4gXNGQCzyAWDR6ZU7+m+NHuEdwfLVwolbsXtXU57 v24Q== X-Gm-Message-State: AElRT7G0bfE8uaHeSEDXdUumdTFn5x5roxXl0lNjbJQT1Px9eVPs2Nbb cMj7yPa3X7XsEjPiPZouj3B8FD57Z6jSTGShYKw= X-Received: by 10.107.111.25 with SMTP id k25mr12887186ioc.257.1521681998750; Wed, 21 Mar 2018 18:26:38 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.95.15 with HTTP; Wed, 21 Mar 2018 18:26:38 -0700 (PDT) In-Reply-To: References: <6ec3e7e0c70e85a804933f27bb4275d5363c044b.1521469118.git.rahul.lakkireddy@chelsio.com> <20180320133206.GB25574@chelsio.com> From: Linus Torvalds Date: Wed, 21 Mar 2018 18:26:38 -0700 X-Google-Sender-Auth: GgzyCmcNGrukB1tl8UGlMsdAu_8 Message-ID: Subject: Re: [RFC PATCH 2/3] x86/io: implement 256-bit IO read and write To: Alexander Duyck Cc: Rahul Lakkireddy , Thomas Gleixner , "x86@kernel.org" , "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" , "mingo@redhat.com" , "hpa@zytor.com" , "davem@davemloft.net" , "akpm@linux-foundation.org" , Ganesh GR , Nirranjan Kirubaharan , Indranil Choudhury Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 20, 2018 at 7:42 AM, Alexander Duyck wrote: > > Instead of framing this as an enhanced version of the read/write ops > why not look at replacing or extending something like the > memcpy_fromio or memcpy_toio operations? Yes, doing something like "memcpy_fromio_avx()" is much more palatable, in that it works like the crypto functions do - if you do big chunks, the "kernel_fpu_begin/end()" isn't nearly the issue it can be otherwise. Note that we definitely have seen hardware that *depends* on the regular memcpy_fromio()" not doing big reads. I don't know how hardware people screw it up, but it's clearly possible. So it really needs to be an explicitly named function that basically a driver can use to say "my hardware really likes big aligned accesses" and explicitly ask for some AVX version if possible. Linus