[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <875ybhjrtu.ffs@tglx>
Date: Sat, 04 Mar 2023 01:14:21 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Schspa Shi <schspa@...il.com>, Waiman Long <longman@...hat.com>
Cc: swboyd@...omium.org, linux@...ck-us.net, wuchi.zero@...il.com,
linux-kernel@...r.kernel.org,
syzbot+5093ba19745994288b53@...kaller.appspotmail.com
Subject: Re: [PATCH 1/2] debugobject: fix concurrency issues with
is_static_object
On Sat, Mar 04 2023 at 01:53, Schspa Shi wrote:
> Waiman Long <longman@...hat.com> writes:
>>> diff --git a/include/linux/debugobjects.h b/include/linux/debugobjects.h
>>> index 32444686b6ff4..544a6111b97f6 100644
>>> --- a/include/linux/debugobjects.h
>>> +++ b/include/linux/debugobjects.h
>>> @@ -30,6 +30,7 @@ struct debug_obj {
>>> enum debug_obj_state state;
>>> unsigned int astate;
>>> void *object;
>>> + bool is_static;
>>> const struct debug_obj_descr *descr;
>>> };
>>
>> The patch looks reasonable. My main concern is the increase in size of the
>> debug_obj structure. It is an additional 8 bytes on 64-bit arches. How much will
>> we save performance-wise by caching it in the debug_obj. Alternatively, you may
>> pack it within the current size by, maybe, reducing the size of state.
>>
>
> Yes, we can change this to:
>
> struct debug_obj {
> struct hlist_node node;
> struct {
> enum debug_obj_state state : 31;
> bool is_static : 1;
> };
and thereby making debugobjects even more slower than it is right
now. Please check the resulting assembly code before proposing quick
"solutions".
Thanks,
tglx
Powered by blists - more mailing lists