Linux PARISC architecture development
 help / color / mirror / Atom feed
From: Frank Rowand <frank_rowand@mvista.com>
To: John Marvin <jsm@udlkern.fc.hp.com>
Cc: parisc-linux@thepuffingroup.com
Subject: Re: [parisc-linux] Virtual mapping of IO cards
Date: Wed, 16 Feb 2000 13:45:58 -0800	[thread overview]
Message-ID: <38AB1A96.A7469A04@mvista.com> (raw)
In-Reply-To: 200002161525.IAA14558@udlkern.fc.hp.com

John Marvin wrote:
> 
> Note: I've changed the subject, because I think this issue is mostly
> separate from the Linux syscall issue.
> 
> > An HPMC may be delayed, relative to the instruction that caused it.  The
> > worst case is that a context switch _could_ occur before the HPMC occurs
> > (and yes, we did see this problem with our HP-UX and HP-RT VME systems
> > when a VME time-out was long enough).  This can make it more difficult to
> > figure out what instruction was issued to cause the HPMC.  The advantage
> > of the page fault is that you know exactly what instruction caused the
> > fault.
> 
> But this doesn't help make your case.  You got the HPMC anyway because the
> card failed to respond in time.  The virtual mapping didn't help you.
> 
> Virtually mapping the card doesn't help with HPMC's caused by dma buffer
> mismanagement (i.e. the card causes the HPMC while mastering the bus).
> 
> Drivers for memory mapped register only cards, i.e. cards without any
> type of onboard memory (i.e. framebuffers, script memory, etc.) are
> not very likely to ever run into a bug of this type, since register
> pointers are usually set up once and never changed.
> 
> In my experience, the majority of HPMC's have been caused by VM errors.
> Then comes the two cases mentioned above (card not responding, dma
> errors).  In my experience, the majority of driver page faults were caused
> by memory references (i.e. mismanaging memory buffers), not IO space
> references.  I can't say I've ever seen a driver page fault bug (i.e. one
> that would have HPMC'd in the current Linux implementation) that was
> caused by the driver mismanaging a pointer to its virtually mapped card
> space.  That is my experience.  YMMV.
> 
> What percentage of the bugs that are caused by a driver mismanaging a
> pointer to its card space would be significantly helped by page faulting,
> rather than HPMC'ing? Although an HPMC can be delayed, I've found in
> the majority of the cases it was either right on, or one instruction off.


Yes, an HPMC caused by a read will behave as you describe.  It's the
case of a write that may be delayed by passing through one or more queues.


> I'm not trying to argue against virtually mapping the card (although I
> would be all for avoiding mapping a large graphics frame buffer in the
> kernel address space). I just want to be sure we do it for the right
> reasons.
> 
> John Marvin
> jsm@fc.hp.com
> 
> ---------------------------------------------------------------------------
> To unsubscribe: send e-mail to parisc-linux-request@thepuffingroup.com with
> `unsubscribe' as the subject.

-Frank
-- 
MontaVista Software, Inc
frank_rowand@mvista.com

  parent reply	other threads:[~2000-02-16 22:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-16 15:25 [parisc-linux] Virtual mapping of IO cards John Marvin
2000-02-16 18:38 ` Grant Grundler
2000-02-17 18:49   ` Frank Rowand
2000-02-16 21:45 ` Frank Rowand [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-02-17 14:37 John Marvin

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=38AB1A96.A7469A04@mvista.com \
    --to=frank_rowand@mvista.com \
    --cc=frowand@mvista.com \
    --cc=jsm@udlkern.fc.hp.com \
    --cc=parisc-linux@thepuffingroup.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