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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox