[lkml]   [2010]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] arch/tile: Add driver to enable access to the user dynamic network.
    [The question is how to use <linux/list.h> from within <asm/processor.h>.]

    On 6/28/2010 3:34 PM, Arnd Bergmann wrote:
    >> 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 :-)
    > Yes, I think that would be a reasonable change.
    > Another alternative might be to move the prefetch stuff from asm/processor.h
    > to asm/prefetch.h on all architectures, which also breaks the dependency loop,
    > unless I'm mistaken again

    In principle I like the <asm/prefetch.h> idea, but I'm concerned that
    the #include of <asm/system.h> from <linux/list.h> will recursively
    include <asm/processor.h> on some platforms; for example, s390 and
    xtensa include it directly. We (tile) were including it indirectly via
    <asm/irqflags.h>, though this seems to be a spurious include on our
    part, but other platforms may also include it indirectly. To be fair,
    I'm not sure why <asm/system.h> is included from <linux/list.h>. It
    doesn't seem required for a tile build, at least, but no doubt it was
    put there for some reason.

    So, if there's a good reason for it to be there, I'd say that pushes us
    back toward a separate <linux/list_types.h>. Otherwise we can
    investigate splitting out the prefetch content on every platform to
    <asm/prefetch.h> (presumably creating some empty <asm/prefetch.h>
    headers on architectures that just use the gcc builtin) and adding new
    #includes of <asm/prefetch.h> to files that reference the prefetch
    functionality. Arnd and other list folks, what's your instinct?

    Chris Metcalf, Tilera Corp.

     \ /
      Last update: 2010-07-02 14:21    [W:0.020 / U:5.104 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site