Thread (14 messages) 14 messages, 4 authors, 2018-11-15

Re: [PATCH v3 0/7] include: add setbits32/clrbits32/clrsetbits32/setbits64/clrbits64/clrsetbits64

From: LABBE Corentin <clabbe@baylibre.com>
Date: 2018-11-15 09:30:42
Also in: dri-devel, linux-amlogic, linux-arm-kernel, linux-ide, linux-mediatek, lkml, netdev

On Wed, Oct 24, 2018 at 09:57:00AM +0100, Russell King - ARM Linux wrote:
On Wed, Oct 24, 2018 at 07:35:46AM +0000, Corentin Labbe wrote:
quoted
This patchset adds a new set of functions which are open-coded in lot of
place.
Basicly the pattern is always the same, "read, modify a bit, write"
some driver and the powerpc arch already have thoses pattern them as functions. (like ahci_sunxi.c or dwmac-meson8b)
The advantage of them being open-coded is that it's _obvious_ to the
reviewer that there is a read-modify-write going on which, in a multi-
threaded environment, may need some locking (so it should trigger a
review of the locking around that code.)

With it hidden inside a helper which has no locking itself, it becomes
much easier to pass over in review, which means that races are much
more likely to go unspotted - and that is bad news.
Hello

I understand your fear, but I think the benefit overhaul thoses.
Furthermore, drivers which I have converted does not need such locking.

If you want I can rename the header to linux/setbits-non-atomic.h for making obvious the lack of locking.

Regards
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help