Linux PARISC architecture development
 help / color / mirror / Atom feed
From: Grant Grundler <grundler@parisc-linux.org>
To: Joel Soete <soete.joel@tiscali.be>
Cc: Carlos O'Donell <carlos@baldric.uwo.ca>,
	"M. Grabert" <xam@cs.ucc.ie>,
	parisc-linux@lists.parisc-linux.org
Subject: Re: [parisc-linux] traps.c 2.4 alignement [was: 2.6.0-test6-pa6 on b2k finaly crash]
Date: Mon, 6 Oct 2003 11:28:56 -0600	[thread overview]
Message-ID: <20031006172856.GB19370@dsl2.external.hp.com> (raw)
In-Reply-To: <3F804FC9.9040401@tiscali.be>

On Sun, Oct 05, 2003 at 05:07:21PM +0000, Joel Soete wrote:
> hmm don't think if it's related but just in case:
> I was just copying my kernel tree with 'tar cslpf - 
> linux-2.6.0-test6-pa6 | ( cd Work ; tar xslpf -)' when
> 
> Kernel panic: drivers/parisc/ccio-dma.c: ccio_alloc_range() I/O M.

You ran out of mapping resources.
        panic(__FILE__ ": %s() I/O MMU is out of mapping resources.\n",
	              __FUNCTION__);

> I just retry same operation on the same system with same kernel but 
> doesn't occurs a second time?

Not surprising. The bitmap search will fail if everything gets
mapped "sparsely" or we try to search for a large mapping (>32K, ie more
than 8 pages) but can't find it. If this is repeatible problem, change

	/* Ratio of Host MEM to IOV Space size */
	static unsigned long ccio_mem_ratio = 4;

in drivers/parisc/ccio-dma.c (2.6 kernel) to 2.

One patch would be welcome here: figure out a threshold when
allocations for single pages should share an 8-page "chunk"
(effectively one TLB entry).  E.g. differentiate between LAN
and SCSI requests.  LAN typically wants 1 entry (1500 byte MTU)
unless someone starts testing "Large Send" and is very "linear"
in it's DMA behavior (one DMA stream at a time).  SCSI typically
wants 64k/128k (16 or 32 entries), has lots of those, and any one
of those could be the "next" DMA stream. ie thrashing the IO TLB
is much more likely with SCSI than LAN and we should allocate
entries differently based on that.

The patch might be something like:
	if ((pci_dev->class & MASK) == PCI_BASE_CLASS_NETWORK) {
	...

in the right places to use a different (and new?) search loop.

grant

  parent reply	other threads:[~2003-10-06 17:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-03 15:20 [parisc-linux] 2.6.0-test6-pa6 on b2k finaly crash Joel Soete
2003-10-03 15:31 ` M. Grabert
2003-10-03 15:52   ` Joel Soete
2003-10-03 15:52   ` Joel Soete
2003-10-05 15:06 ` [parisc-linux] traps.c 2.4 alignement [was: 2.6.0-test6-pa6 on b2k finaly crash] Joel Soete
2003-10-05 17:07   ` Joel Soete
2003-10-05 19:22     ` M. Grabert
2003-10-06 17:28     ` Grant Grundler [this message]
2003-10-07  7:25       ` Joel Soete
2003-10-12 13:28       ` Joel Soete
2003-10-06 14:33   ` Carlos O'Donell
2003-10-06 16:21     ` Joel Soete
2003-10-06 17:34       ` Carlos O'Donell
2003-10-07  9:49         ` Joel Soete
2003-10-07 15:47         ` Joel Soete
2003-10-07  9:58 ` [parisc-linux] 2.6.0-test6-pa6 on b2k finaly crash Joel Soete

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=20031006172856.GB19370@dsl2.external.hp.com \
    --to=grundler@parisc-linux.org \
    --cc=carlos@baldric.uwo.ca \
    --cc=parisc-linux@lists.parisc-linux.org \
    --cc=soete.joel@tiscali.be \
    --cc=xam@cs.ucc.ie \
    /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