NACK: [Zesty][PATCH v2 09/11] locking/atomic, kref: Add kref_read()

joserz at linux.vnet.ibm.com joserz at linux.vnet.ibm.com
Fri Aug 4 13:15:02 UTC 2017


On Fri, Aug 04, 2017 at 09:58:14AM +0200, Stefan Bader wrote:
> On 27.07.2017 16:38, Stefan Bader wrote:
> > On 21.07.2017 17:50, Jose Ricardo Ziviani wrote:
> >> From: Peter Zijlstra <peterz at infradead.org>
> >>
> >> BugLink: http://bugs.launchpad.net/bugs/1686019
> >>
> >> Since we need to change the implementation, stop exposing internals.
> >>
> >> Provide kref_read() to read the current reference count; typically
> >> used for debug messages.
> >>
> >> Kills two anti-patterns:
> >>
> >> 	atomic_read(&kref->refcount)
> >> 	kref->refcount.counter
> >>
> >> Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
> >> Cc: Andrew Morton <akpm at linux-foundation.org>
> >> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> >> Cc: Linus Torvalds <torvalds at linux-foundation.org>
> >> Cc: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
> >> Cc: Peter Zijlstra <peterz at infradead.org>
> >> Cc: Thomas Gleixner <tglx at linutronix.de>
> >> Cc: linux-kernel at vger.kernel.org
> >> Signed-off-by: Ingo Molnar <mingo at kernel.org>
> >> (cherry picked from commit 2c935bc57221cc2edc787c72ea0e2d30cdcd3d5e)
> >> Signed-off-by: Jose Ricardo Ziviani <joserz at linux.vnet.ibm.com>
> >> ---
> >>  drivers/block/drbd/drbd_req.c                |  2 +-
> >>  drivers/block/rbd.c                          |  8 +++---
> >>  drivers/block/virtio_blk.c                   |  2 +-
> >>  drivers/gpu/drm/drm_gem_cma_helper.c         |  2 +-
> >>  drivers/gpu/drm/drm_info.c                   |  2 +-
> >>  drivers/gpu/drm/drm_mode_object.c            |  4 +--
> >>  drivers/gpu/drm/etnaviv/etnaviv_gem.c        |  2 +-
> >>  drivers/gpu/drm/i915/i915_gem_object.h       |  2 +-
> >>  drivers/gpu/drm/msm/msm_gem.c                |  2 +-
> >>  drivers/gpu/drm/nouveau/nouveau_fence.c      |  2 +-
> >>  drivers/gpu/drm/omapdrm/omap_gem.c           |  2 +-
> >>  drivers/gpu/drm/ttm/ttm_bo.c                 |  4 +--
> >>  drivers/gpu/drm/ttm/ttm_object.c             |  2 +-
> >>  drivers/infiniband/hw/cxgb3/iwch_cm.h        |  6 ++---
> >>  drivers/infiniband/hw/cxgb3/iwch_qp.c        |  2 +-
> >>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h       |  6 ++---
> >>  drivers/infiniband/hw/cxgb4/qp.c             |  2 +-
> >>  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c |  6 ++---
> >>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c |  4 +--
> >>  drivers/misc/genwqe/card_dev.c               |  2 +-
> >>  drivers/misc/mei/debugfs.c                   |  2 +-
> >>  drivers/pci/hotplug/pnv_php.c                |  2 +-
> >>  drivers/pci/slot.c                           |  2 +-
> >>  drivers/scsi/bnx2fc/bnx2fc_io.c              |  8 +++---
> >>  drivers/scsi/cxgbi/libcxgbi.h                |  4 +--
> >>  drivers/scsi/lpfc/lpfc_debugfs.c             |  2 +-
> >>  drivers/scsi/lpfc/lpfc_els.c                 |  2 +-
> >>  drivers/scsi/lpfc/lpfc_hbadisc.c             | 40 ++++++++++++++--------------
> >>  drivers/scsi/lpfc/lpfc_init.c                |  3 +--
> >>  drivers/scsi/qla2xxx/tcm_qla2xxx.c           |  4 +--
> >>  drivers/staging/android/ion/ion.c            |  2 +-
> >>  drivers/staging/comedi/comedi_buf.c          |  2 +-
> >>  drivers/target/target_core_pr.c              | 10 +++----
> >>  drivers/target/tcm_fc/tfc_sess.c             |  2 +-
> >>  drivers/usb/gadget/function/f_fs.c           |  2 +-
> >>  fs/exofs/sys.c                               |  2 +-
> >>  fs/ocfs2/cluster/netdebug.c                  |  2 +-
> >>  fs/ocfs2/cluster/tcp.c                       |  2 +-
> >>  fs/ocfs2/dlm/dlmdebug.c                      | 12 ++++-----
> >>  fs/ocfs2/dlm/dlmdomain.c                     |  2 +-
> >>  fs/ocfs2/dlm/dlmmaster.c                     |  8 +++---
> >>  fs/ocfs2/dlm/dlmunlock.c                     |  2 +-
> >>  include/drm/drm_framebuffer.h                |  2 +-
> >>  include/drm/ttm/ttm_bo_driver.h              |  4 +--
> >>  include/linux/kref.h                         |  5 ++++
> >>  include/linux/sunrpc/cache.h                 |  2 +-
> >>  include/net/bluetooth/hci_core.h             |  4 +--
> >>  net/bluetooth/6lowpan.c                      |  2 +-
> >>  net/bluetooth/a2mp.c                         |  4 +--
> >>  net/bluetooth/amp.c                          |  4 +--
> >>  net/bluetooth/l2cap_core.c                   |  4 +--
> >>  net/ceph/messenger.c                         |  4 +--
> >>  net/ceph/osd_client.c                        | 10 +++----
> >>  net/sunrpc/cache.c                           |  2 +-
> >>  net/sunrpc/svc_xprt.c                        |  6 ++---
> >>  net/sunrpc/xprtrdma/svc_rdma_transport.c     |  4 +--
> >>  56 files changed, 121 insertions(+), 117 deletions(-)
> >>
> > 
> > For SRU I would rather prefer to see the ppc kvm patches to change kref_read
> > back into a atomic_read(kref instead of mucking around with half the kernel.
> > Even with that being the way forward...
> > 
> 
> To clearly state this, I don't think that this is acceptable for SRU in the
> current form.
> 
> -Stefan
> 

Hi Stefan,

Do you prefer a new patchset without this one? Actually, I included it
only to satisfy the dependency chain for patch 11 but I can create a new
set without this patch.





More information about the kernel-team mailing list