Re: [PATCH] Improve pci_alloc_consistent wrapper on preemptivekernels

From: Andrew Morton
Date: Fri Jul 30 2004 - 15:25:38 EST


James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, 2004-07-30 at 16:02, Andrew Morton wrote:
> > We're paying for past sins here. I think it would be better to create a
> > new version of pci_alloc_consistent() which takes gfp_flags, then migrate
> > the drivers you care about to use it. That way the benefit is available on
> > non-preempt kernels too.
> >
> > The ultimate aim of course would be to deprecate then remove the old
> > function.
>
> True, that's why it was added for dma_alloc_coherent().
>
> Is there any need for a new wrapper? Why not just use
> dma_alloc_coherent() from now on?
>

Sounds sane. But the default version in asm-generic/dma-mapping.h needs to
be fixed up:

static inline void *
dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
int flag)
{
BUG_ON(dev->bus != &pci_bus_type);

return pci_alloc_consistent(to_pci_dev(dev), size, dma_handle);
}

If we stick with this model, we'll still need a new pci_alloc_consistent_gfp().
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/