From: Yury Umanets <torque@ukrpost.net>
To: Andrew Morton <akpm@osdl.org>
Cc: jj@sunsite.ms.mff.cuni.cz, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.6.6 invalid usage of GFP_DMA in drivers/scsi/pluto.c
Date: Tue, 08 Jun 2004 14:07:28 +0300 [thread overview]
Message-ID: <1086692848.2818.52.camel@firefly> (raw)
In-Reply-To: <20040608031753.3ebaf77a.akpm@osdl.org>
On Tue, 2004-06-08 at 13:17, Andrew Morton wrote:
> Yury Umanets <torque@ukrpost.net> wrote:
> >
> > Hello Andrew, guys,
> >
> > Found this, what seems to be an invalid usage of GFP_DMA flag. Is this
> > patch okay?
>
> Nope.
>
> GFP_DMA means "from the lower 16MB of memory". It's needed for crufty old
> eisa hardware which only does 24-bit DMA.
This is clear. And sure, it shows that caller wants some memory from DMA
zone if it is possible.
What I mean is that, GFP_DMA seems to be not full specifier and only
flag which can be used along with something else.
Say gfp mask roughly consist of two kinds on instructions:
* what memory zone to use - zone specifier.
* how to behave during allocation (IO, sleep, etc) - behavior specifier.
My concern is will it behave correctly with only GFP_DMA? It seems to
behave like do not use emergency pools and do not wait at the same time
what is risky. Is that right?
> It's meaningless to OR this with
> GFP_KERNEL.
>
> However it's a bit odd that GFP_DMA implies !__GFP_WAIT. It would be valid
> to hunt down GFP_DMA users who should really be using GFP_DMA|__GFP_WAIT,
Seems that all GFP_DMA users use it with __GFP_WAIT or GFP_KERNEL. And
I'd prefer to add __GFP_WAIT here also.
> but this stuff is so old and crufty I'd be inclined to leave it all alone.
>
>
> >
> > --- ./linux-2.6.6/drivers/scsi/pluto.c Mon May 10 05:32:27 2004
> > +++ ./linux-2.6.6-modified/drivers/scsi/pluto.c Tue Jun 8 11:26:07 2004
> > @@ -117,7 +117,8 @@ int __init pluto_detect(Scsi_Host_Templa
> > #endif
> > return 0;
> > }
> > - fcs = (struct ctrl_inquiry *) kmalloc (sizeof (struct ctrl_inquiry) *
> > fcscount, GFP_DMA);
> > + fcs = (struct ctrl_inquiry *) kmalloc (sizeof (struct ctrl_inquiry) *
> > fcscount,
> > + GFP_KERNEL | GFP_DMA);
> > if (!fcs) {
> > printk ("PLUTO: Not enough memory to probe\n");
> > return 0;
> >
>
> Your patch is wordwrapped and uses weird headers (please omit the leading
> ./ from the pathnames).
Sorry, next will use another mailer.
--
umka
prev parent reply other threads:[~2004-06-08 11:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-08 10:11 [PATCH] 2.6.6 invalid usage of GFP_DMA in drivers/scsi/pluto.c Yury Umanets
2004-06-08 10:17 ` Andrew Morton
2004-06-08 11:07 ` Yury Umanets [this message]
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=1086692848.2818.52.camel@firefly \
--to=torque@ukrpost.net \
--cc=akpm@osdl.org \
--cc=jj@sunsite.ms.mff.cuni.cz \
--cc=linux-kernel@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