Home
last modified time | relevance | path

Searched refs:atomic_sub_return (Results 1 – 59 of 59) sorted by relevance

/linux-4.4.14/arch/avr32/include/asm/
Datomic.h97 static inline int atomic_sub_return(int i, atomic_t *v) in atomic_sub_return() function
184 #define atomic_sub(i, v) (void)atomic_sub_return(i, v)
189 #define atomic_dec_return(v) atomic_sub_return(1, v)
192 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
194 #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0)
/linux-4.4.14/arch/metag/include/asm/
Datomic.h22 #define atomic_dec_return(v) atomic_sub_return(1, (v))
35 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0)
36 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
/linux-4.4.14/include/asm-generic/
Datomic.h97 #ifndef atomic_sub_return
156 atomic_sub_return(i, v); in atomic_sub()
166 atomic_sub_return(1, v); in atomic_dec()
169 #define atomic_dec_return(v) atomic_sub_return(1, (v))
172 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0)
/linux-4.4.14/arch/mn10300/include/asm/
Datomic.h112 atomic_sub_return(1, v); in atomic_dec()
115 #define atomic_dec_return(v) atomic_sub_return(1, (v))
118 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0)
119 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
/linux-4.4.14/include/linux/
Datomic.h110 #define atomic_sub_return_relaxed atomic_sub_return
111 #define atomic_sub_return_acquire atomic_sub_return
112 #define atomic_sub_return_release atomic_sub_return
118 __atomic_op_acquire(atomic_sub_return, __VA_ARGS__)
123 __atomic_op_release(atomic_sub_return, __VA_ARGS__)
126 #ifndef atomic_sub_return
127 #define atomic_sub_return(...) \ macro
128 __atomic_op_fence(atomic_sub_return, __VA_ARGS__)
/linux-4.4.14/arch/sh/include/asm/
Datomic.h29 #define atomic_dec_return(v) atomic_sub_return(1, (v))
32 #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
33 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
Drwsem.h91 if (atomic_sub_return(RWSEM_ACTIVE_WRITE_BIAS, in __up_write()
/linux-4.4.14/arch/tile/include/asm/
Datomic.h47 #define atomic_sub_return(i, v) atomic_add_return((int)(-(i)), (v)) macro
66 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0)
82 #define atomic_dec_return(v) atomic_sub_return(1, (v))
/linux-4.4.14/arch/hexagon/include/asm/
Datomic.h183 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
184 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, (v)) == 0)
188 #define atomic_dec_return(v) (atomic_sub_return(1, v))
/linux-4.4.14/arch/frv/include/asm/
Datomic.h53 static inline int atomic_sub_return(int i, atomic_t *v) in atomic_sub_return() function
70 atomic_sub_return(i, v); in atomic_sub()
83 #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
84 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
/linux-4.4.14/arch/h8300/include/asm/
Datomic.h54 #define atomic_sub(i, v) (void)atomic_sub_return(i, v)
55 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
58 #define atomic_dec_return(v) atomic_sub_return(1, v)
/linux-4.4.14/arch/ia64/include/asm/
Datomic.h60 #define atomic_sub_return(i,v) \ macro
190 #define atomic_dec_return(v) atomic_sub_return(1, (v))
195 #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
196 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
203 #define atomic_sub(i,v) (void)atomic_sub_return((i), (v))
/linux-4.4.14/arch/xtensa/include/asm/
Datomic.h165 #define atomic_sub_and_test(i,v) (atomic_sub_return((i),(v)) == 0) in ATOMIC_OPS()
197 #define atomic_dec_return(v) atomic_sub_return(1,(v)) in ATOMIC_OPS()
207 #define atomic_dec_and_test(v) (atomic_sub_return(1,(v)) == 0) in ATOMIC_OPS()
Drwsem.h85 tmp = atomic_sub_return(1,(atomic_t *)(&sem->count)); in __up_read()
96 if (atomic_sub_return(RWSEM_ACTIVE_WRITE_BIAS, in __up_write()
/linux-4.4.14/arch/arm64/include/asm/
Datomic.h72 #define atomic_sub_return atomic_sub_return macro
77 #define atomic_dec_return(v) atomic_sub_return(1, (v))
96 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0)
Datomic_lse.h140 static inline int atomic_sub_return##name(int i, atomic_t *v) \
/linux-4.4.14/arch/sparc/include/asm/
Datomic_32.h38 #define atomic_sub_return(i, v) (atomic_add_return(-(int)(i), (v))) macro
55 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
Datomic_64.h44 #define atomic_dec_return(v) atomic_sub_return(1, v) in ATOMIC_OPS()
61 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0) in ATOMIC_OPS()
64 #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0) in ATOMIC_OPS()
/linux-4.4.14/arch/arc/include/asm/
Datomic.h224 #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0)
226 #define atomic_dec_return(v) atomic_sub_return(1, (v))
227 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
/linux-4.4.14/arch/s390/include/asm/
Datomic.h116 #define atomic_sub_return(_i, _v) atomic_add_return(-(int)(_i), _v) macro
117 #define atomic_sub_and_test(_i, _v) (atomic_sub_return(_i, _v) == 0)
119 #define atomic_dec_return(_v) atomic_sub_return(1, _v)
120 #define atomic_dec_and_test(_v) (atomic_sub_return(1, _v) == 0)
/linux-4.4.14/arch/alpha/include/asm/
Datomic.h233 #define atomic_dec_return(v) atomic_sub_return(1,(v))
239 #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
245 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
/linux-4.4.14/arch/x86/include/asm/
Datomic.h167 static __always_inline int atomic_sub_return(int i, atomic_t *v) in atomic_sub_return() function
173 #define atomic_dec_return(v) (atomic_sub_return(1, v))
/linux-4.4.14/arch/mips/include/asm/
Datomic.h242 #define atomic_dec_return(v) atomic_sub_return(1, (v))
254 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0)
274 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
/linux-4.4.14/arch/blackfin/include/asm/
Datomic.h29 #define atomic_sub_return(i, v) __raw_atomic_add_asm(&(v)->counter, -(i)) macro
/linux-4.4.14/arch/powerpc/mm/
Dmmu_context_hash64.c121 count = atomic_sub_return(PTE_FRAG_NR - count, &page->_count); in destroy_pagetable_page()
/linux-4.4.14/arch/arm/include/asm/
Datomic.h212 #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0)
215 #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
/linux-4.4.14/arch/m32r/include/asm/
Datomic.h114 #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0) in ATOMIC_OPS()
/linux-4.4.14/arch/m68k/include/asm/
Datomic.h156 #define atomic_dec_return(v) atomic_sub_return(1, (v))
/linux-4.4.14/drivers/md/bcache/
Dclosure.c48 closure_put_after_sub(cl, atomic_sub_return(v, &cl->remaining)); in closure_sub()
Drequest.c199 if (atomic_sub_return(bio_sectors(bio), &op->c->sectors_to_gc) < 0) { in bch_data_insert_start()
Dbtree.c328 !atomic_sub_return(w->prio_blocked, &b->c->prio_blocked)) in btree_complete_write()
/linux-4.4.14/arch/parisc/include/asm/
Datomic.h157 #define atomic_sub_and_test(i,v) (atomic_sub_return((i),(v)) == 0)
/linux-4.4.14/arch/x86/kernel/cpu/mcheck/
Dmce_intel.c187 if (!atomic_sub_return(1, &cmci_storm_on_cpus)) in cmci_intel_adjust_timer()
/linux-4.4.14/arch/powerpc/include/asm/
Datomic.h224 #define atomic_sub_and_test(a, v) (atomic_sub_return((a), (v)) == 0)
/linux-4.4.14/drivers/crypto/qat/qat_common/
Dadf_dev_mgr.c439 if (atomic_sub_return(1, &accel_dev->ref_count) == 0) in adf_dev_put()
/linux-4.4.14/net/sunrpc/xprtrdma/
Dxprt_rdma.h98 #define DECR_CQCOUNT(ep) atomic_sub_return(1, &(ep)->rep_cqcount)
/linux-4.4.14/drivers/w1/slaves/
Dw1_therm.c83 int refcnt = atomic_sub_return(1, THERM_REFCNT(sl->family_data)); in w1_therm_remove_slave()
/linux-4.4.14/drivers/tty/
Dtty_buffer.c193 WARN_ON(atomic_sub_return(b->size, &buf->mem_used) < 0); in tty_buffer_free()
/linux-4.4.14/net/9p/
Dtrans_rdma.c446 if ((atomic_sub_return(1, &rdma->excess_rc) >= 0)) { in rdma_request()
/linux-4.4.14/drivers/w1/
Dw1_netlink.c83 if (atomic_sub_return(1, &block->refcnt) == 0) { in w1_unref_block()
Dw1.c785 refcnt = atomic_sub_return(1, &sl->refcnt); in w1_unref_slave()
/linux-4.4.14/drivers/misc/mic/scif/
Dscif_fence.c386 if (!atomic_sub_return(1, &ep->rma_info.fence_refcount)) in scif_rma_handle_remote_fences()
Dscif_rma.c338 j = atomic_sub_return(1, &pinned_pages->ref_count); in scif_destroy_window()
1462 ret = atomic_sub_return(1, &pinned_pages->ref_count); in scif_unpin_pages()
/linux-4.4.14/net/rds/
Dib_send.c228 if ((atomic_sub_return(nr, &ic->i_signaled_sends) == 0) && in rds_ib_sub_signaled()
/linux-4.4.14/drivers/vhost/
Dnet.c139 int r = atomic_sub_return(1, &ubufs->refcount); in vhost_net_ubuf_put()
/linux-4.4.14/drivers/net/wireless/ath/carl9170/
Dtx.c199 if (unlikely(atomic_sub_return(chunks, &ar->mem_free_blocks) < 0)) { in carl9170_alloc_dev_space()
/linux-4.4.14/drivers/s390/cio/
Dqdio_main.c530 if (atomic_sub_return(count, &q->nr_buf_used) == 0) in get_inbound_buffer_frontier()
/linux-4.4.14/drivers/net/wireless/cw1200/
Dwsm.c1233 tx_lock = atomic_sub_return(1, &priv->tx_lock); in wsm_unlock_tx()
/linux-4.4.14/Documentation/
Datomic_ops.txt220 int atomic_sub_return(int i, atomic_t *v);
Dmemory-barriers.txt2335 atomic_sub_return(); atomic_long_sub_return();
/linux-4.4.14/drivers/isdn/gigaset/
Dcapi.c2311 while (atomic_sub_return(1, &iif->sendqlen) > 0) { in gigaset_send_message()
/linux-4.4.14/drivers/video/fbdev/
Dsh_mobile_lcdcfb.c356 if (atomic_sub_return(1, &priv->hw_usecnt) == -1) { in sh_mobile_lcdc_clk_off()
/linux-4.4.14/net/ipv4/
Dtcp_output.c863 wmem = atomic_sub_return(skb->truesize - 1, &sk->sk_wmem_alloc); in tcp_wfree()
/linux-4.4.14/drivers/infiniband/ulp/srpt/
Dib_srpt.c2780 sq_wr_avail = atomic_sub_return(n_rdma, &ch->sq_wr_avail); in srpt_perform_rdmas()
/linux-4.4.14/kernel/
Dmodule.c911 ret = atomic_sub_return(MODULE_REF_BASE, &mod->refcnt); in try_release_module_ref()
/linux-4.4.14/net/core/
Dskbuff.c580 atomic_sub_return(skb->nohdr ? (1 << SKB_DATAREF_SHIFT) + 1 : 1, in skb_release_data()
/linux-4.4.14/drivers/block/drbd/
Ddrbd_receiver.c319 i = atomic_sub_return(i, a); in drbd_free_pages()
/linux-4.4.14/drivers/md/
Draid5.c160 return atomic_sub_return(1, segments) & 0xffff; in raid5_dec_bi_active_stripes()
/linux-4.4.14/fs/btrfs/
Dinode.c1109 if (atomic_sub_return(nr_pages, &root->fs_info->async_delalloc_pages) < in async_cow_submit()