Subject: Re: PPC Lockup (ati-pcigart-branch)

From: Dan Malek <[email-masked]>
Date: Thu, 18 Jan 2001 22:55:47 -0500

Michel Dänzer wrote:
>
> [CC'ing linuxppc-dev, hopefully someone there knows what might be up...]
>
> This is where it dies:
>
>         /* FIXME: We should really have a kernel call for this...
>          */
>         entry->virtual = __vmalloc( (pages << PAGE_SHIFT),
>                                     GFP_KERNEL,
>                                     PAGE_KERNEL);

This isn't very much information, but only one thing can really
be wrong........

What is the value of 'pages'?  I suspect it is huge (and perhaps
wrong).  The GFP_KERNEL flag will cause vmalloc() to wait for pages
to become available (i.e. it will swap other things out).  If this
value in incorrect, this call will wait forever for pages that are
never going to arrive.  Worse, it is going to keep sucking up pages
and holding them, so nothing else is going to run either.  Is "pages"
really the number of pages, or a size that was never converted to pages?

...and for the 'FIXME' comment, you want a function that does
what? vmalloc?  Why don't you just call it (or one of the more
appropriate variants if necessary)?

	-- Dan

--

	I like MMUs because I don't have a real life.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/