linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Andi Kleen <andi@firstfloor.org>, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] [12/22] Remove GFP_DMAs/unchecked_isa_dma checks in scsi_scan.c
Date: Mon, 25 Feb 2008 16:11:38 +0100	[thread overview]
Message-ID: <20080225151138.GE16158@one.firstfloor.org> (raw)
In-Reply-To: <1203951860.3254.26.camel@localhost.localdomain>

On Mon, Feb 25, 2008 at 07:04:20AM -0800, James Bottomley wrote:
> On Mon, 2008-02-25 at 15:58 +0100, Andi Kleen wrote:
> > On Mon, Feb 25, 2008 at 06:46:58AM -0800, James Bottomley wrote:
> > > 
> > > On Mon, 2008-02-25 at 00:35 +0100, Andi Kleen wrote:
> > > > Should not be needed because the block layer bounces that all.
> > > > 
> > > > Signed-off-by: Andi Kleen <ak@suse.de>
> > > > 
> > > > ---
> > > >  drivers/scsi/scsi_scan.c |    6 ++----
> > > >  1 file changed, 2 insertions(+), 4 deletions(-)
> > > > 
> > > > Index: linux/drivers/scsi/scsi_scan.c
> > > > ===================================================================
> > > > --- linux.orig/drivers/scsi/scsi_scan.c
> > > > +++ linux/drivers/scsi/scsi_scan.c
> > > > @@ -1010,8 +1010,7 @@ static int scsi_probe_and_add_lun(struct
> > > >  	if (!sdev)
> > > >  		goto out;
> > > >  
> > > > -	result = kmalloc(result_len, GFP_ATOMIC |
> > > > -			((shost->unchecked_isa_dma) ? __GFP_DMA : 0));
> > > > +	result = kmalloc(result_len, GFP_ATOMIC);
> > > >  	if (!result)
> > > >  		goto out_free_sdev;
> > > >  
> > > > @@ -1328,8 +1327,7 @@ static int scsi_report_lun_scan(struct s
> > > >  	 * prevent us from finding any LUNs on this target.
> > > >  	 */
> > > >  	length = (max_scsi_report_luns + 1) * sizeof(struct scsi_lun);
> > > > -	lun_data = kmalloc(length, GFP_ATOMIC |
> > > > -			   (sdev->host->unchecked_isa_dma ? __GFP_DMA : 0));
> > > > +	lun_data = kmalloc(length, GFP_ATOMIC);
> > > >  	if (!lun_data) {
> > > >  		printk(ALLOC_FAILURE_MSG, __FUNCTION__);
> > > >  		goto out;
> > > 
> > > Andi, this can't be right.
> > 
> > You mean it is incorrect or just not optimal? 
> 
> It's not optimal ... but that's sufficient an objection.
> 
> > > 
> > > You're removing something that's actually useful.  I'm happy to
> > > substitute this kmalloc for kmalloc_mask on the device dma mask which
> > > will do the same thing and so junk unchecked_isa_dma() that way (and
> > > actually fix us up for other weird mask devices), but just using
> > > ZONE_NORMAL is wrong because we'll then bounce all the time for
> > > something we knew a priori how to avoid.
> > 
> > That would require adding a separate mask just for this to the 
> > template. I figured the SCSI scan was not performance critical
> > so a few more copies just for this case was an ok trade off
> > for simpler code.
> 
> Why?  We already have the device; can't we just use its mask?

These ISA drivers I worked with definitely don't know 
anything about a device in any form.

Also there is the issue that 50+% of the ISA drivers actually
don't need it even if they had a ISA device.

> 
> > You think it makes sense to optimize scsi scan?
> 
> It makes sense to use information we already know to optimise the path,

In this case we would need to add a special new field for this
to the SCSI template (assume unchecked_isa_dma is already gone). 
You think that is worth it? 

-Andi


  reply	other threads:[~2008-02-25 15:11 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-24 23:35 [PATCH] [0/22] Remove isa_unchecked_dma and some more GFP_DMAs in the mid layer Andi Kleen
2008-02-24 23:35 ` [PATCH] [1/22] Add new sense_buffer_mask host template field Andi Kleen
2008-02-25 14:48   ` James Bottomley
2008-02-25 15:01     ` Andi Kleen
2008-02-24 23:35 ` [PATCH] [2/22] Remove unchecked_isa in BusLogic Andi Kleen
2008-02-24 23:35 ` [PATCH] [3/22] Remove unchecked_isa_dma in advansys.c Andi Kleen
2008-02-25 21:47   ` Matthew Wilcox
2008-02-25 22:40     ` Andi Kleen
2008-02-25 22:50       ` Matthew Wilcox
2008-02-25 22:54         ` Jeff Garzik
2008-02-25 22:58           ` James Bottomley
2008-02-26  3:44         ` Andi Kleen
2008-02-26 15:18           ` James Bottomley
2008-02-26 18:40             ` Matthew Wilcox
2008-02-26 13:56       ` Matthew Wilcox
2008-02-24 23:35 ` [PATCH] [4/22] Remove unchecked_isa_dma in gdth Andi Kleen
2008-02-24 23:35 ` [PATCH] [6/22] Remove unchecked_isa_dma in aha1542 Andi Kleen
2008-02-24 23:35 ` [PATCH] [7/22] Remove unchecked_isa_dma in aha152x/wd7000/sym53c416/u14-34f/NCR53c406a Andi Kleen
2008-02-24 23:35 ` [PATCH] [8/22] Remove random noop unchecked_isa_dma users Andi Kleen
2008-02-25 14:19   ` Salyzyn, Mark
2008-02-24 23:35 ` [PATCH] [10/22] Remove unchecked_isa_dma support for hostdata Andi Kleen
2008-02-24 23:35 ` [PATCH] [11/22] Remove unchecked_isa_dma checks in sg.c Andi Kleen
2008-02-24 23:35 ` [PATCH] [12/22] Remove GFP_DMAs/unchecked_isa_dma checks in scsi_scan.c Andi Kleen
2008-02-25 14:46   ` James Bottomley
2008-02-25 14:58     ` Andi Kleen
2008-02-25 15:04       ` James Bottomley
2008-02-25 15:11         ` Andi Kleen [this message]
2008-02-25 15:45           ` James Bottomley
2008-02-25 16:34             ` Andi Kleen
2008-02-24 23:35 ` [PATCH] [13/22] Don't disable direct_io for unchecked_isa_dma in st.c Andi Kleen
2008-02-24 23:35 ` [PATCH] [14/22] Remove automatic block layer bouncing for unchecked_isa_dma Andi Kleen
2008-02-24 23:35 ` [PATCH] [15/22] Remove GFP_DMA use in sr_ioctl Andi Kleen
2008-02-24 23:35 ` [PATCH] [16/22] Remove unchecked_isa_dma from sysfs Andi Kleen
2008-02-24 23:35 ` [PATCH] [17/22] Switch to a single SCSI command pool Andi Kleen
2008-02-24 23:35 ` [PATCH] [18/22] Finally remove unchecked_isa_dma support for Cmnds Andi Kleen
2008-02-24 23:35 ` [PATCH] [19/22] Finally kill unchecked_isa_dma Andi Kleen
2008-02-24 23:35 ` [PATCH] [20/22] Remove GFP_DMA in sr.c Andi Kleen
2008-02-24 23:35 ` [PATCH] [21/22] Remove GFP_DMA in ch.c Andi Kleen
2008-02-24 23:35 ` [PATCH] [22/22] Remove GFP_DMA in sr_vendor.c Andi Kleen

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=20080225151138.GE16158@one.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    /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).