RE: Patch added to scsi-rc-fixes-2.6: [SCSI] arcmsr: fix message allocation

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

 



Sorry, maybe I did not ask distinctly enough.
I mean if I would like to allocate a memory space from ZONE_DMA for atomic
context, why can I not use kmalloc(1032, GFP_ATOMIC|GFP_DMA)?
In case of lack of GFP_DMA, kmalloc would grab the memory from ZONE_HIGH or
ZONE_HIGHMEM, isn't it?(I read it from the textbook of Linux Kernel
Development by Robert Love)
Or the basic is that you don't think it is necessary to allocate a memory
space from DMA area?
Please give me some comments.
Thank you very much, :-)

-----Original Message-----
From: Daniel Drake [mailto:dsd@xxxxxxxxxx] 
Sent: Monday, February 25, 2008 6:15 PM
To: nick.cheng@xxxxxxxxxxxx
Cc: 'James Bottomley'; linux-scsi@xxxxxxxxxxxxxxx
Subject: Re: Patch added to scsi-rc-fixes-2.6: [SCSI] arcmsr: fix message
allocation

nickcheng wrote:
> Hi,
> I definitely agree it is in atomic context but why is the memory not for
> DMA?
> Would you please show me why?

It would probably be easier if you could explain where you believe the 
memory IS used for DMA :)

Anyway, looking at ARCMSR_MESSAGE_READ_RQBUFFER
current code does this:
		ver_addr = kmalloc(1032, GFP_ATOMIC);

Here are the cases when that buffer is used:

checking for successful malloc: not DMA
		if (!ver_addr) {

copying the address: not DMA
		ptmpQbuffer = ver_addr;

memcpying 1 byte into the buffer: not DMA
			memcpy(ptmpQbuffer, pQbuffer, 1);

incrementing address: not DMA
			ptmpQbuffer++;

memcpying from the buffer: not DMA
		memcpy(pcmdmessagefld->messagedatabuffer, ver_addr,
allxfer_len);

freeing the buffer: not DMA
		kfree(ver_addr);

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux