public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Linus Torvalds <torvalds@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Virtualization Mailing List <virtualization@lists.osdl.org>,
	Xen-devel <xen-devel@lists.xensource.com>,
	Andrew Morton <akpm@osdl.org>, Dan Hecht <dhecht@vmware.com>,
	Dan Arai <arai@vmware.com>, Anne Holler <anne@vmware.com>,
	Pratap Subrahmanyam <pratap@vmware.com>,
	Christopher Li <chrisl@vmware.com>,
	Joshua LeVasseur <jtl@ira.uka.de>, Chris Wright <chrisw@osdl.org>,
	Rik Van Riel <riel@redhat.com>, Jyothy Reddy <jreddy@vmware.com>,
	Jack Lo <jlo@vmware.com>, Kip Macy <kmacy@fsmware.com>,
	Jan Beulich <jbeulich@novell.com>,
	Ky Srinivasan <ksrinivasan@novell.com>,
	Wim Coekaerts <wim.coekaerts@oracle.com>,
	Leendert van Doorn <leendert@watson.ibm.com>
Subject: Re: [RFC, PATCH 16/24] i386 Vmi io header
Date: Wed, 15 Mar 2006 15:34:30 -0800	[thread overview]
Message-ID: <4418A486.2010409@vmware.com> (raw)
In-Reply-To: <m1acbrxv9v.fsf@ebiederm.dsl.xmission.com>

Eric W. Biederman wrote:
> Zachary Amsden <zach@vmware.com> writes:
>
>   
>> Move I/O instruction building to the sub-arch layer.  Some very crafty
>> but esoteric macros are used here to get optimized native instructions
>> for port I/O in Linux be writing raw instruction strings.  Adding a
>> wrapper layer here is fairly easy, and makes the full range of I/O
>> instructions available to the VMI interface.
>>
>> Also, slowing down I/O is not a useful operation in a VM, so there
>> is a VMI call specifically to allow making it a NOP.  I could find
>> no place where SLOW_IO_BY_JUMPING is still used, and consider it
>> obsoleted.  Even on older 386 systems, the I/O delay approximation
>> by touching the extra page register is likely to better.
>>     
>
> This sounds like a prime candidate for the alternate instruction interfaces
> and I don't see that being used here.

The problem is that floppy controllers and other crufty hardware 
actually do need those slowing port operations to work reliably.  If you 
look at the usage of slow_down_io, you get scared pretty quick.  If you 
want your driver to use it, you have the option of defining 
REALLY_SLOW_IO in your C file, then suffix your I/O calls with _p.  The 
definition of SLOW_DOWN_IO actually used to be raw assembly instructions 
encapsulated in quotations.  I just realized this does actually change 
the semantics of drivers/net/de600.c, which really is the only driver 
which defines SLOW_IO_BY_JUMPING.

This usage of predefined macros in the driver causing port I/O semantics 
to change seems a little strange to try to wrap onto an alternate 
instruction interfaces, since it is dependent definitions local to each 
.C file, rather than global processor or derived feature bits.

The VMI call wrappers are very much similar to the alternate instruction 
interfaces - they just leave the alternative to be defined by the 
hypervisor.

      reply	other threads:[~2006-03-15 23:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-13 18:11 [RFC, PATCH 16/24] i386 Vmi io header Zachary Amsden
2006-03-15 21:17 ` Eric W. Biederman
2006-03-15 23:34   ` Zachary Amsden [this message]

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=4418A486.2010409@vmware.com \
    --to=zach@vmware.com \
    --cc=akpm@osdl.org \
    --cc=anne@vmware.com \
    --cc=arai@vmware.com \
    --cc=chrisl@vmware.com \
    --cc=chrisw@osdl.org \
    --cc=dhecht@vmware.com \
    --cc=ebiederm@xmission.com \
    --cc=jbeulich@novell.com \
    --cc=jlo@vmware.com \
    --cc=jreddy@vmware.com \
    --cc=jtl@ira.uka.de \
    --cc=kmacy@fsmware.com \
    --cc=ksrinivasan@novell.com \
    --cc=leendert@watson.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pratap@vmware.com \
    --cc=riel@redhat.com \
    --cc=torvalds@osdl.org \
    --cc=virtualization@lists.osdl.org \
    --cc=wim.coekaerts@oracle.com \
    --cc=xen-devel@lists.xensource.com \
    /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