RE: [PATCH] [scsi] Remove __GFP_DMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So, is the sequence:

	p = kmalloc(upsg->sg[i].count,GFP_KERNEL);
	. . .
	addr = pci_map_single(dev->pdev, p, upsg->sg[i].count,
data_dir);

Going to ensure that we have a 31 bit (not 32 bit) physical address?

If not, then I reject this patch. We can not consider replacement with
pci_alloc_consistent until it works on AMD respecting the DMA masks.

Sincerely -- Mark Salyzyn

> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Aubrey Li
> Sent: Tuesday, May 22, 2007 10:41 PM
> To: Christoph Lameter
> Cc: Bernhard Walle; [email protected]; Andrew 
> Morton; [email protected]; James Bottomley
> Subject: Re: [PATCH] [scsi] Remove __GFP_DMA
> 
> 
> On 5/23/07, Christoph Lameter <[email protected]> wrote:
> > On Mon, 21 May 2007, Bernhard Walle wrote:
> >
> > > [PATCH] [scsi] Remove __GFP_DMA
> > >
> > > After 821de3a27bf33f11ec878562577c586cd5f83c64, it's not 
> necessary to alloate a
> > > DMA buffer any more in sd.c.
> > >
> > > Signed-off-by: Bernhard Walle <[email protected]>
> >
> > Great that avoids a DMA kmalloc slab. Any other GFP_DMAs 
> left in the scsi
> > layer?
> >
> > Acked-by: Christoph Lameter <[email protected]>
> 
> Yes, here is another patch
> 
> Signed-off-by: Aubrey.Li <[email protected]>
> ---
>  drivers/scsi/aacraid/commctrl.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/scsi/aacraid/commctrl.c 
> b/drivers/scsi/aacraid/commctrl.c
> index 72b0393..405722d 100644
> --- a/drivers/scsi/aacraid/commctrl.c
> +++ b/drivers/scsi/aacraid/commctrl.c
> @@ -580,8 +580,8 @@ static int aac_send_raw_srb(struct aac_dev* dev,
> void __user * arg)
>  			for (i = 0; i < upsg->count; i++) {
>  				u64 addr;
>  				void* p;
> -				/* Does this really need to be 
> GFP_DMA? */
> -				p = 
> kmalloc(upsg->sg[i].count,GFP_KERNEL|__GFP_DMA);
> +
> +				p = 
> kmalloc(upsg->sg[i].count,GFP_KERNEL);
>  				if(p == 0) {
>  					
> dprintk((KERN_DEBUG"aacraid: Could not allocate SG buffer - size
> = %d buffer number %d of %d\n",
>  					  
> upsg->sg[i].count,i,upsg->count));
> @@ -624,8 +624,8 @@ static int aac_send_raw_srb(struct aac_dev* dev,
> void __user * arg)
>  			for (i = 0; i < usg->count; i++) {
>  				u64 addr;
>  				void* p;
> -				/* Does this really need to be 
> GFP_DMA? */
> -				p = 
> kmalloc(usg->sg[i].count,GFP_KERNEL|__GFP_DMA);
> +
> +				p = 
> kmalloc(usg->sg[i].count,GFP_KERNEL);
>  				if(p == 0) {
>  					kfree (usg);
>  					
> dprintk((KERN_DEBUG"aacraid: Could not allocate SG buffer - size
> = %d buffer number %d of %d\n",
> @@ -666,8 +666,8 @@ static int aac_send_raw_srb(struct aac_dev* dev,
> void __user * arg)
>  			for (i = 0; i < upsg->count; i++) {
>  				u64 addr;
>  				void* p;
> -				/* Does this really need to be 
> GFP_DMA? */
> -				p = 
> kmalloc(usg->sg[i].count,GFP_KERNEL|__GFP_DMA);
> +
> +				p = 
> kmalloc(usg->sg[i].count,GFP_KERNEL);
>  				if(p == 0) {
>  					
> dprintk((KERN_DEBUG"aacraid: Could not allocate SG buffer - size
> = %d buffer number %d of %d\n",
>  					  
> usg->sg[i].count,i,usg->count));
> -- 
> 1.5.1.1
> -
> To unsubscribe from this list: send the line "unsubscribe 
> linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux