Re: [libgpiod v2.0][PATCH] core: extend config objects
From: Bartosz Golaszewski <hidden>
Date: 2021-08-12 14:03:10
From: Bartosz Golaszewski <hidden>
Date: 2021-08-12 14:03:10
On Thu, Aug 12, 2021 at 3:03 PM Andy Shevchenko [off-list ref] wrote:
On Thu, Aug 12, 2021 at 02:51:02PM +0200, Bartosz Golaszewski wrote:quoted
On Thu, Aug 12, 2021 at 12:29 PM Kent Gibson [off-list ref] wrote:quoted
As you said - it's on the heap, so who cares. But this is also an internal structure and so we can use bit fields. That should reduce the memory footprint significantly as we now don't require more than 3 bits for any given enum. That would leave us with the debounce period and offset as full size variables.Side note (I believe you know about): bit fields are the beasts when you have to have a locked access.
The library isn't thread-safe. AFAIK a simple mutex around every operation on a struct containing bitfields will be enough for a user to guarantee no race conditions in user-space. Bart