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
next prev 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.