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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.