diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2010-11-16 15:21:07 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-11-22 13:25:13 +1000 |
commit | ecf7ace9a8450303a987aa8364e53860cd50e554 (patch) | |
tree | bbad2c5982c3b76462cbee9e15458072bc80055d /include/linux/kref.h | |
parent | d6ea88865d3e5b0c62040531310c1f2c6a994f46 (diff) | |
download | lwn-ecf7ace9a8450303a987aa8364e53860cd50e554.tar.gz lwn-ecf7ace9a8450303a987aa8364e53860cd50e554.zip |
kref: Add a kref_sub function
Makes it possible to optimize batched multiple unrefs.
Initial user will be drivers/gpu/ttm which accumulates unrefs to be
processed outside of atomic code.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/linux/kref.h')
-rw-r--r-- | include/linux/kref.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/kref.h b/include/linux/kref.h index 6cc38fc07ab7..d4a62ab2ee5e 100644 --- a/include/linux/kref.h +++ b/include/linux/kref.h @@ -24,5 +24,7 @@ struct kref { void kref_init(struct kref *kref); void kref_get(struct kref *kref); int kref_put(struct kref *kref, void (*release) (struct kref *kref)); +int kref_sub(struct kref *kref, unsigned int count, + void (*release) (struct kref *kref)); #endif /* _KREF_H_ */ |