[Click] Doing some research

Joonwoo Park joonwpark81 at gmail.com
Sun Jan 30 23:32:14 EST 2011


Hi Bobby,

Ah... my bad.  Yours were right.
For some reason I got an impression that 'pslot' is being passed to
rcuupdate not '*pslot'.
Thanks for correcting me.

Joonwoo

On Sun, Jan 30, 2011 at 6:25 PM, Bobby Longpocket
<bobbylongpocket at yahoo.com> wrote:
> No, that's not the correct fix.  The original fix was just a cast and had no effect other than to appease the compiler.  Your proposed fix makes the code do something different.
>
>
> --- On Sun, 1/30/11, Joonwoo Park <joonwpark81 at gmail.com> wrote:
>
>> From: Joonwoo Park <joonwpark81 at gmail.com>
>> Subject: Re: [Click] Doing some research
>> To: "Bobby Longpocket" <bobbylongpocket at yahoo.com>, "Outback Dingo" <outbackdingo at gmail.com>
>> Cc: click at pdos.csail.mit.edu
>> Date: Sunday, January 30, 2011, 2:00 PM
>> Hi,
>>
>> Presumably this wouldn't affect to anything as radix tree
>> is not being used anyware from click.  But it seems to
>> me below is correct fix.
>> 150c150
>> <       return
>> rcu_dereference(*pslot);
>> ---
>> >       return (void
>> *)rcu_dereference(*(int **)&pslot);
>> 176c176
>> <
>>    rcu_assign_pointer(*pslot, item);
>> ---
>> >
>>    rcu_assign_pointer(*(int **)&pslot,
>> (int *)item);
>>
>> Dingo, if you have chance, please try patch serise that I
>> posted yesterday.  It should work with linux 2.6.37.
>>
>> Joonwoo
>>
>> On Mon, Jan 24, 2011 at 10:33:57PM -0800, Bobby Longpocket
>> wrote:
>> > Dingo:
>> >
>> > Click patchless has a problem with 2.6.37.  In
>> radix-tree.h there's a call to a macro that ends up trying
>> to dereference a void*.  The C++ compiler doesn't like
>> this.  You can apply the following changes to
>> click/include/click-linuxmodule/include1/linux/radix-tree.h
>> to make more progress with your compilation:
>> >
>> > 150c150
>> > <     return
>> rcu_dereference(*pslot);
>> > ---
>> > >     return (void
>> *)rcu_dereference(*(int **)pslot);
>> > 176c176
>> > <     rcu_assign_pointer(*pslot,
>> item);
>> > ---
>> > >     rcu_assign_pointer(*(int
>> **)pslot, (int *)item);
>> >
>> >
>> >
>> > ----------------
>> > as for linux-2.6.37, any ideas ? and another note how
>> does one enable
>> > elements --enable-wifi (./configure --fix-includes
>> --enable-wifi ) ??
>> >
>> > today i cloned latest source from https://github.com/kohler/click
>> >
>> > cd click
>> > ./configure --fix-includes
>> >
>> > all seems fine
>> >
>> > make
>> > --------snip----------
>> > In file included from
>> >
>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/fs.h:392:0,
>> >
>>   from
>> /usr/builder/devel/click/linuxmodule/../lib/ino.cc:30:
>> >
>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:
>> > In function ‘void*
>> radix_tree_deref_slot(void**)’:
>> >
>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9:
>> > error: ‘void*’ is not a pointer-to-object type
>> >
>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9:
>> > error: invalid type in declaration before ‘=’
>> token
>> >
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > click mailing list
>> > click at amsterdam.lcs.mit.edu
>> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>
>
>
>
>



More information about the click mailing list