linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Malahal Naineni <malahal@us.ibm.com>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Jens Axboe <jaxboe@fusionio.com>,
	linux-scsi@vger.kernel.org, linux-next@vger.kernel.org
Subject: Re: [PATCH] block: set the bounce_pfn to the actual DMA limit rather than to max memory
Date: Tue, 28 Sep 2010 15:59:36 -0700	[thread overview]
Message-ID: <20100928225936.GA8993@us.ibm.com> (raw)
In-Reply-To: <4ca2688f17705a0195@agluck-desktop.sc.intel.com>

Luck, Tony [tony.luck@intel.com] wrote:
> Starting with the next-20100927 tag of linux-next I saw this error
> while booting ia64:
> 
>   Unable to handle kernel NULL pointer dereference (address 0000000000000020)
>   usb-stor-scan[5915]: Oops 8813272891392 [1]
>   Modules linked in: dm_mod usb_storage sg container button usbhid uhci_hcd ehci_hcd usbcore fan processor thermal thermal_sys
> 
>   Pid: 5915, CPU 0, comm:        usb-stor-scan
>   psr : 00001010085a6010 ifs : 8000000000000894 ip  : [<a00000010012a630>]    Not tainted (2.6.36-rc5-generic-smp-next-20100927)
>   ip is at mempool_alloc+0x70/0x200
> 
> The problem was that "page_pool" was NULL, but blk_queue_bounce()
> had decided to use it!  The code in mm/bounce.c looks quite
> fragile here as there are several places where page_pool is used, but
> it is only initialized inside #ifdef CONFIG_HIGHMEM (which is not
> set on ia64).
> 
> Reverting this patch so that the old rules for setting
> q->limits.bounce_pfn are used cures the immediate problem.
> But I think there must be some deeper issues involved.
> 
> I think that reverting means that I take the fast exit
> from blk_queue_bounce():
> 
> 	if (queue_bounce_pfn(q) >= blk_max_pfn)
> 		return;

Let me know if this fixes the problem. Thank you very much.


diff -r 1a48e21f1e50 drivers/scsi/scsi_lib.c
--- a/drivers/scsi/scsi_lib.c	Fri Sep 24 09:44:52 2010 -0700
+++ b/drivers/scsi/scsi_lib.c	Tue Sep 28 15:55:10 2010 -0700
@@ -1590,7 +1590,7 @@ static void scsi_request_fn(struct reque
 u64 scsi_calculate_bounce_limit(struct Scsi_Host *shost)
 {
 	struct device *host_dev;
-	u64 bounce_limit = 0xffffffff;
+	u64 bounce_limit = BLK_BOUNCE_HIGH;
 
 	if (shost->unchecked_isa_dma)
 		return BLK_BOUNCE_ISA;

  reply	other threads:[~2010-09-28 22:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-28 22:13 [PATCH] block: set the bounce_pfn to the actual DMA limit rather than to max memory Luck, Tony
2010-09-28 22:59 ` Malahal Naineni [this message]
2010-09-28 23:40   ` Luck, Tony
2010-09-29  0:42     ` Malahal Naineni
2010-09-29  4:47       ` Luck, Tony
2010-09-29  5:55         ` Malahal Naineni
2010-09-29 16:00           ` Luck, Tony
  -- strict thread matches above, loose matches on Subject: below --
2010-09-21 22:22 Malahal Naineni
2010-09-22 23:06 ` Malahal Naineni
2010-09-24 13:58 ` Jens Axboe
2010-09-24 17:05   ` Malahal Naineni
2010-09-24 18:28     ` Jens Axboe
2010-09-24 19:20       ` Malahal Naineni
2010-09-24 19:26         ` Jens Axboe
2010-10-01  2:30           ` Malahal Naineni
2010-10-01 12:46             ` Jens Axboe

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=20100928225936.GA8993@us.ibm.com \
    --to=malahal@us.ibm.com \
    --cc=jaxboe@fusionio.com \
    --cc=linux-next@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tony.luck@intel.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).