Re: [PATCH for-rc 4/6] RDMA/bnxt_re: Synchronize destroy_qp with poll_cq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2018-02-20 at 11:14 -0500, Doug Ledford wrote:
> On Tue, 2018-02-20 at 07:45 +0200, Leon Romanovsky wrote:
> > 
> > Sometimes, it makes sense to provide wrappers e.g. different get/put,
> > to_..(), from_..()) calls for annotate ambiguous ++/--. But locks
> > are different, they need to be clear and can't be hided.
> > 
> > So yes, I'm objecting here for this lock/unlock wrapper and would like
> > to see more pushback from maintainers on extensive usage of ridiculous
> > wrappers (including mlx code).
> 
> I've spent some time thinking about this, and I'm not sure I agree with
> you Leon.  Getting locking right is important, and in this case it
> doesn't really hide any details, but it gets all of the annotations
> right.  I'm personally inclined to take the patch.  I'll look around at
> some other places in the kernel, but wrappers for getting locking right
> aren't that rare I don't think.

I used the following command to do a quick scan of whether or not
wrappers for locking are common:

grep -r __acquires -B 2 --include=*.[hc]

After reviewing the output, I'm fine with this patch.  It shows that
some authors do simple locking directly in the functions that need to
take the lock, but by in large, when either the locking complexity goes
up or even just the annotation complexity goes up, locking helpers are
in fact very common.  As an example, kernel/sched/sched.h is full of
helpers.

I'm also going to disagree with you on the "more pushback".  It is going
to depend on the complexity of the locking and annotations as to whether
I might push back.


-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux