linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Manfred Spraul" <manfred@colorfullife.com>
To: <zaitcev@redhat.com>
Cc: <linux-usb-devel@lists.sourceforge.net>,
	<linux-kernel@vger.kernel.org>, <david-b@pacbell.net>
Subject: Re: SLAB vs. pci_alloc_xxx in usb-uhci patch
Date: Mon, 5 Mar 2001 23:08:10 +0100	[thread overview]
Message-ID: <001f01c0a5c0$e942d8f0$5517fea9@local> (raw)

> And mm/slab.c changes semantics when CONFIG_SLAB_DEBUG
> is set: it ignores SLAB_HWCACHE_ALIGN. That seems more like
> the root cause of the problem to me!
>

HWCACHE_ALIGN does not guarantee a certain byte alignment. And
additionally it's not even guaranteed that kmalloc() uses that
HWCACHE_ALIGN.
Uhci is broken, not my slab code ;-)

> I think that the pci_alloc_consistent patch that Johannes sent
>by for "uhci.c" would be a better approach. Though I'd like
>to see that be more general ... say, making mm/slab.c know
>about such things. Add a simple abstraction, and that should
>be it -- right? :-)

I looked at it, and there are 2 problems that make it virtually
impossible to integrate kmem_cache_alloc() with pci memory alloc without
a major redesign:

* pci_alloc_consistent returns 2 values, kmem_cache_alloc() only one.
This one would be possible to work around.

* the slab allocator heavily relies on the 'struct page' structure, but
it's not guaranteed that it exists for pci_alloced memory.

I'd switch to pci_alloc_consistent with some optimizations to avoid
wasting a complete page for each DMA header. (I haven't seen Johannes
patch, but we discussed the problem 6 weeks ago and that proposal was
the end of the thread)

--

    Manfred


             reply	other threads:[~2001-03-05 22:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3AA91B2C.BEB85D8C@colorfullife.com>
2001-03-05 22:08 ` Manfred Spraul [this message]
2001-03-05 22:52   ` SLAB vs. pci_alloc_xxx in usb-uhci patch David Brownell
2001-03-05 23:20     ` Russell King
2001-03-06  2:09       ` Alan Cox
2001-03-06  2:29         ` [linux-usb-devel] " David Brownell
2001-03-06  4:53     ` David S. Miller
2001-03-09 16:18       ` SLAB vs. pci_alloc_xxx in usb-uhci patch [RFC: API] David Brownell
2001-03-09 18:21         ` David S. Miller
2001-03-09 18:35           ` [linux-usb-devel] " Johannes Erdfelt
2001-03-09 19:42             ` David Brownell
2001-03-09 20:07             ` David S. Miller
2001-03-09 21:14               ` David Brownell
2001-03-09 22:34                 ` Pete Zaitcev
2001-03-09 18:35           ` Alan Cox
2001-03-09 18:29 ` David Brownell
2001-03-09 19:14   ` Pete Zaitcev
2001-03-09 19:37     ` David Brownell
2001-03-09 19:04       ` Gérard Roudier
2001-03-09 22:42         ` David Brownell
2001-03-09 21:07           ` Gérard Roudier
2001-03-10  3:11             ` David Brownell
2001-03-09 21:38     ` [linux-usb-devel] " Alan Cox
2001-03-09 20:00   ` David S. Miller
2001-03-09 20:07 ` David S. Miller
2001-03-06  5:44 SLAB vs. pci_alloc_xxx in usb-uhci patch Peter Zaitcev
2001-03-06 23:13 ` David Brownell
2001-03-07  7:05   ` Manfred Spraul
2001-03-07 17:43     ` David Brownell
  -- strict thread matches above, loose matches on Subject: below --
2001-03-05 19:23 Peter Zaitcev

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='001f01c0a5c0$e942d8f0$5517fea9@local' \
    --to=manfred@colorfullife.com \
    --cc=david-b@pacbell.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=zaitcev@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).