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: 20+ 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 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 19:19 ` Matthew Wilcox
2010-07-02 19:33 ` Chris Metcalf
2010-07-02 20:48 ` Matthew Wilcox
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 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox