On Thu, 2 Jan 2014 18:49:55 +0100, David Sterba wrote:
> On Thu, Dec 26, 2013 at 01:07:05PM +0800, Miao Xie wrote:
>> +#define BTRFS_DELAYED_NODE_IN_LIST  0
>> +#define BTRFS_DELAYED_NODE_INODE_DIRTY      1
>> +
>>  struct btrfs_delayed_node {
>>      u64 inode_id;
>>      u64 bytes_reserved;
>> @@ -65,8 +68,7 @@ struct btrfs_delayed_node {
>>      struct btrfs_inode_item inode_item;
>>      atomic_t refs;
>>      u64 index_cnt;
>> -    bool in_list;
>> -    bool inode_dirty;
>> +    unsigned long flags;
>>      int count;
>>  };
> 
> What's the reason to do that? Replacing 2 bools with a bitfield
> does not seem justified, not from saving memory, nor from a performance
> gain side.  Also some of the bit operations imply the lock instruction
> prefix so this affects the surrounding items as well.
> 
> I don't think this is needed, unless you have further plans with the
> flags item.

Yes, I introduced a flag in the next patch.

And we can not common bit operation here because we hold different locks when 
we change
those bits, we have to use the bit operations which implies the lock 
instruction.

Thanks
Miao
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to