From: "Amit S. Kale" <amitkale@linsyssoft.com>
To: Stephen Hemminger <shemminger@osdl.org>
Cc: David Miller <davem@davemloft.net>,
muli@il.ibm.com, jeff@garzik.org, amitkale@netxen.com,
netdev@vger.kernel.org, brazilnut@us.ibm.com,
netxenproj@linsyssoft.com, rob@netxen.com, romieu@fr.zoreil.com,
sanjeev@netxen.com, wendyx@us.ibm.com
Subject: Re: network devices don't handle pci_dma_mapping_error()'s
Date: Thu, 7 Dec 2006 12:25:37 +0530 [thread overview]
Message-ID: <200612071225.38485.amitkale@linsyssoft.com> (raw)
In-Reply-To: <4577B8C8.5070608@osdl.org>
On Thursday 07 December 2006 12:16, Stephen Hemminger wrote:
> Amit S. Kale wrote:
> > We can let a driver handle dma mapping errors using these->
> >
> > 1.Reduce the size of a receive ring. This will free some possibly
> > remapped memory, reducing pressure on iommu. We also need to printk a
> > message so that a user knows the reason why receive ring was shrunk.
> > Growing it when iommu pressure goes down will result in a ping-pong.
> > 2. Force processing of receive and transmit ring. This will ensure that
> > the buffers processed by hardware are freed, reducing iommu pressure.
> >
> > 3. If we need to do (1) and (2) a predefined number of times (say 20),
> > stop the queue. Stopping the queue in general will cause a ping-pong, so
> > it should be avoided as far as possible.
>
> But what if it isn't the network device that is using all the IOMMU
> resources.
> Linux is already crap at handling out of memory, lets not add another
> starvation
> path.
>
> In this case, the device does have some idea about "worst case" i/o's in
> flight,
> couldn't we have some sort of reservation/management system to avoid
> overcommitting?
> Worst case map usage for a network device can be fairly high because of
> the possiblity
> of on transmit with a high number of pages when using TSO. Perhaps the
> transmit
> ring needs to be accounted for in maps used rather than packets pending.
I am afraid I don't have a good answer for that. Any kind of reservation may
result in underutilization and transparently shared resources may result in
starvation.
Designing heuristics for handling these cases may be the only possible wayout,
though these heuristics need to be validated frequently to ensure that they
aren't out of date.
-Amit
next prev parent reply other threads:[~2006-12-07 6:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-01 13:40 [PATCH 2/3] NetXen: 64-bit memory fixes Amit S. Kale
2006-12-01 18:56 ` Stephen Hemminger
2006-12-02 5:32 ` Jeff Garzik
2006-12-04 18:39 ` network devices don't handle pci_dma_mapping_error()'s Stephen Hemminger
2006-12-05 7:00 ` Muli Ben-Yehuda
2006-12-06 18:16 ` Stephen Hemminger
2006-12-06 19:33 ` Muli Ben-Yehuda
2006-12-07 6:18 ` Amit S. Kale
2006-12-07 13:04 ` Muli Ben-Yehuda
2006-12-07 0:54 ` David Miller
2006-12-07 0:58 ` Stephen Hemminger
2006-12-07 1:13 ` David Miller
2006-12-07 2:18 ` Rick Jones
2006-12-07 2:31 ` David Miller
2006-12-07 6:25 ` Amit S. Kale
2006-12-07 6:46 ` Stephen Hemminger
2006-12-07 6:55 ` Amit S. Kale [this message]
2006-12-07 7:24 ` David Miller
2006-12-07 20:07 ` Stephen Hemminger
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=200612071225.38485.amitkale@linsyssoft.com \
--to=amitkale@linsyssoft.com \
--cc=amitkale@netxen.com \
--cc=brazilnut@us.ibm.com \
--cc=davem@davemloft.net \
--cc=jeff@garzik.org \
--cc=muli@il.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=netxenproj@linsyssoft.com \
--cc=rob@netxen.com \
--cc=romieu@fr.zoreil.com \
--cc=sanjeev@netxen.com \
--cc=shemminger@osdl.org \
--cc=wendyx@us.ibm.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;
as well as URLs for NNTP newsgroup(s).