public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: "nickcheng" <nick.cheng@areca.com.tw>
To: 'Daniel Drake' <dsd@gentoo.org>
Cc: 'James Bottomley' <James.Bottomley@HansenPartnership.com>,
	linux-scsi@vger.kernel.org, 'erich' <erich@areca.com.tw>
Subject: RE: Patch added to scsi-rc-fixes-2.6:  [SCSI] arcmsr: fix message allocation
Date: Mon, 25 Feb 2008 18:47:49 +0800	[thread overview]
Message-ID: <000401c8779b$de5619c0$8800a8c0@Nick> (raw)
In-Reply-To: <47C29506.4000609@gentoo.org>

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@gentoo.org] 
Sent: Monday, February 25, 2008 6:15 PM
To: nick.cheng@areca.com.tw
Cc: 'James Bottomley'; linux-scsi@vger.kernel.org
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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2008-02-25 10:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <001401c87753$3edf4670$8800a8c0@Nick>
2008-02-25 10:14 ` Patch added to scsi-rc-fixes-2.6: [SCSI] arcmsr: fix message allocation Daniel Drake
2008-02-25 10:47   ` nickcheng [this message]
2008-02-25 14:38     ` James Bottomley
2008-02-26  4:29       ` Patch added to scsi-rc-fixes-2.6: [SCSI] arcmsr: fix messageallocation nickcheng
2008-02-26 16:14         ` James Bottomley

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='000401c8779b$de5619c0$8800a8c0@Nick' \
    --to=nick.cheng@areca.com.tw \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=dsd@gentoo.org \
    --cc=erich@areca.com.tw \
    --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