From: Chris Metcalf <cmetcalf@tilera.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] arch/tile: Add driver to enable access to the user dynamic network.
Date: Mon, 28 Jun 2010 11:23:16 -0400 [thread overview]
Message-ID: <4C28BE64.4050505@tilera.com> (raw)
In-Reply-To: <201006281312.16391.arnd@arndb.de>
On 6/28/2010 7:12 AM, Arnd Bergmann wrote:
> On Sunday 27 June 2010, Chris Metcalf wrote:
>
>> On 6/26/2010 7:16 AM, Arnd Bergmann wrote:
>>
>>> It seems strange that you need this. Why does linux/list.h
>>> depend on asm/processor.h?
>>>
>> <linux/list.h> -> <linux/poison.h> -> <linux/prefetch.h> ->
>> <asm/processor.h>. There doesn't seem to be any good way around this.
>> I could, I suppose, use an opaque "struct list_head;" declaration in
>> <asm/processor.h>, then create one with kmalloc on demand, but that
>> seemed like overkill, so I embed the made-up version here, then validate
>> it as a BUILD_BUG_ON() to be the same size as a real list_head. I never
>> actually use the "hardwall_list" structure directly.
>>
> We could break the dependency by turning prefetch_range into a macro
> or an extern function. There is only one user, and it's in a staging
> driver, so the impact would be minimal.
>
I don't think so. The problem is that users of <linux/list.h> expect to
be able to #include that one header, then use things like
list_for_each() (which uses prefetch, as defined in <asm/processor.h>),
but without also being required to #include <asm/processor.h> themselves
explicitly.
I think the only "true" fix would be to have a new <linux/list_types.h>
header that provides list_head (and presumably hlist_head and
hlist_node), which <linux/list.h> would include, as would our
<asm/processor.h>. This is certainly in line with recent
header-separation changes (e.g. mm_types.h). Would there be interest in
a change like this? I implemented it in my tree, and if it sounds
plausible to you, I'll send out a git diff, but it looks pretty much
exactly like this description :-)
--
Chris Metcalf, Tilera Corp.
http://www.tilera.com
next prev parent reply other threads:[~2010-06-28 15:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-25 21:00 [PATCH] arch/tile: Add driver to enable access to the user dynamic network Chris Metcalf
2010-06-26 11:16 ` Arnd Bergmann
2010-06-27 17:00 ` Chris Metcalf
2010-06-28 11:12 ` Arnd Bergmann
2010-06-28 15:23 ` Chris Metcalf [this message]
2010-06-28 19:34 ` Arnd Bergmann
2010-07-02 12:19 ` Chris Metcalf
2010-07-02 12:19 ` Chris Metcalf
2010-07-02 16:11 ` Arnd Bergmann
2010-07-02 17:41 ` [PATCH] Break out types from <linux/list.h> to <linux/list_types.h> Chris Metcalf
2010-07-02 17:41 ` Chris Metcalf
2010-07-02 19:19 ` Matthew Wilcox
2010-07-02 19:33 ` Chris Metcalf
2010-07-02 19:33 ` Chris Metcalf
2010-07-02 20:48 ` Matthew Wilcox
2010-07-02 21:09 ` Chris Metcalf
2010-07-02 21:09 ` Chris Metcalf
2010-07-03 8:44 ` Alexey Dobriyan
2010-07-03 9:00 ` Arnd Bergmann
2010-07-04 1:47 ` Chris Metcalf
2010-07-04 1:47 ` Chris Metcalf
2010-07-04 3:22 ` Matthew Wilcox
2010-07-02 20:43 ` Arnd Bergmann
2010-07-02 21:10 ` Christoph Hellwig
2010-07-02 17:52 ` [PATCH] arch/tile: Add driver to enable access to the user dynamic network Chris Metcalf
2010-07-02 17:52 ` Chris Metcalf
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=4C28BE64.4050505@tilera.com \
--to=cmetcalf@tilera.com \
--cc=arnd@arndb.de \
--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.