Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1563675 > unrolled thread
| Started by | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| First post | 2017-01-20 15:50 +0100 |
| Last post | 2017-01-22 22:50 +0100 |
| Articles | 13 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH] 6lowpan: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2017-01-20 15:50 +0100
[PATCH] net/mlx4: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2017-01-20 15:50 +0100
Re: [PATCH] net/mlx4: use rb_entry() Leon Romanovsky <leon@kernel.org> - 2017-01-22 08:50 +0100
Re: [PATCH] net/mlx4: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2017-01-22 15:50 +0100
Re: [PATCH] net/mlx4: use rb_entry() Leon Romanovsky <leon@kernel.org> - 2017-01-22 20:10 +0100
Re: [PATCH] net/mlx4: use rb_entry() David Miller <davem@davemloft.net> - 2017-01-22 22:50 +0100
Re: [PATCH] net/mlx4: use rb_entry() David Miller <davem@davemloft.net> - 2017-01-22 22:50 +0100
[PATCH] dm bio prison: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2017-01-20 15:50 +0100
Re: [PATCH] dm bio prison: use rb_entry() Coly Li <colyli@suse.de> - 2017-01-20 16:20 +0100
[PATCH] drm/i915/error: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2017-01-20 15:50 +0100
Re: [Intel-gfx] [PATCH] drm/i915/error: use rb_entry() Chris Wilson <chris@chris-wilson.co.uk> - 2017-01-23 10:20 +0100
[PATCH] drm/nouveau/client: use rb_entry() Geliang Tang <geliangtang@gmail.com> - 2017-01-20 15:50 +0100
Re: [PATCH] 6lowpan: use rb_entry() David Miller <davem@davemloft.net> - 2017-01-22 22:50 +0100
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-01-20 15:50 +0100 |
| Subject | [PATCH] 6lowpan: use rb_entry() |
| Message-ID | <t1IFQ-8tF-15@gated-at.bofh.it> |
To make the code clearer, use rb_entry() instead of container_of() to
deal with rbtree.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
net/6lowpan/nhc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/6lowpan/nhc.c b/net/6lowpan/nhc.c
index 7008d53..4fa2fdd 100644
--- a/net/6lowpan/nhc.c
+++ b/net/6lowpan/nhc.c
@@ -27,8 +27,8 @@ static int lowpan_nhc_insert(struct lowpan_nhc *nhc)
/* Figure out where to put new node */
while (*new) {
- struct lowpan_nhc *this = container_of(*new, struct lowpan_nhc,
- node);
+ struct lowpan_nhc *this = rb_entry(*new, struct lowpan_nhc,
+ node);
int result, len_dif, len;
len_dif = nhc->idlen - this->idlen;
@@ -69,8 +69,8 @@ static struct lowpan_nhc *lowpan_nhc_by_nhcid(const struct sk_buff *skb)
const u8 *nhcid_skb_ptr = skb->data;
while (node) {
- struct lowpan_nhc *nhc = container_of(node, struct lowpan_nhc,
- node);
+ struct lowpan_nhc *nhc = rb_entry(node, struct lowpan_nhc,
+ node);
u8 nhcid_skb_ptr_masked[LOWPAN_NHC_MAX_ID_LEN];
int result, i;
--
2.9.3
[toc] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-01-20 15:50 +0100 |
| Subject | [PATCH] net/mlx4: use rb_entry() |
| Message-ID | <t1IFQ-8tF-35@gated-at.bofh.it> |
| In reply to | #1563675 |
To make the code clearer, use rb_entry() instead of container_of() to
deal with rbtree.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
index 1822382..6da6e01 100644
--- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
+++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
@@ -236,8 +236,8 @@ static void *res_tracker_lookup(struct rb_root *root, u64 res_id)
struct rb_node *node = root->rb_node;
while (node) {
- struct res_common *res = container_of(node, struct res_common,
- node);
+ struct res_common *res = rb_entry(node, struct res_common,
+ node);
if (res_id < res->res_id)
node = node->rb_left;
@@ -255,8 +255,8 @@ static int res_tracker_insert(struct rb_root *root, struct res_common *res)
/* Figure out where to put new node */
while (*new) {
- struct res_common *this = container_of(*new, struct res_common,
- node);
+ struct res_common *this = rb_entry(*new, struct res_common,
+ node);
parent = *new;
if (res->res_id < this->res_id)
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Leon Romanovsky <leon@kernel.org> |
|---|---|
| Date | 2017-01-22 08:50 +0100 |
| Subject | Re: [PATCH] net/mlx4: use rb_entry() |
| Message-ID | <t2l4t-6n6-1@gated-at.bofh.it> |
| In reply to | #1563682 |
[Multipart message β attachments visible in raw view] — view raw
On Fri, Jan 20, 2017 at 10:36:57PM +0800, Geliang Tang wrote:
> To make the code clearer, use rb_entry() instead of container_of() to
> deal with rbtree.
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> ---
> drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
I don't understand completely the rationale behind this conversion.
rb_entry == container_of, why do we need another name for it?
>
> diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
> index 1822382..6da6e01 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
> @@ -236,8 +236,8 @@ static void *res_tracker_lookup(struct rb_root *root, u64 res_id)
> struct rb_node *node = root->rb_node;
>
> while (node) {
> - struct res_common *res = container_of(node, struct res_common,
> - node);
> + struct res_common *res = rb_entry(node, struct res_common,
> + node);
>
> if (res_id < res->res_id)
> node = node->rb_left;
> @@ -255,8 +255,8 @@ static int res_tracker_insert(struct rb_root *root, struct res_common *res)
>
> /* Figure out where to put new node */
> while (*new) {
> - struct res_common *this = container_of(*new, struct res_common,
> - node);
> + struct res_common *this = rb_entry(*new, struct res_common,
> + node);
>
> parent = *new;
> if (res->res_id < this->res_id)
> --
> 2.9.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-01-22 15:50 +0100 |
| Subject | Re: [PATCH] net/mlx4: use rb_entry() |
| Message-ID | <t2rCW-1Xi-11@gated-at.bofh.it> |
| In reply to | #1564322 |
On Sun, Jan 22, 2017 at 09:48:39AM +0200, Leon Romanovsky wrote: > On Fri, Jan 20, 2017 at 10:36:57PM +0800, Geliang Tang wrote: > > To make the code clearer, use rb_entry() instead of container_of() to > > deal with rbtree. > > > > Signed-off-by: Geliang Tang <geliangtang@gmail.com> > > --- > > drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > I don't understand completely the rationale behind this conversion. > rb_entry == container_of, why do we need another name for it? > There are several *_entry macros which are defined in kernel data structures, like list_entry, hlist_entry, rb_entry, etc. Each of them is just another name for container_of. We use different *_entry so that we could identify the specific type of data structure that we are dealing with. -Geliang
[toc] | [prev] | [next] | [standalone]
| From | Leon Romanovsky <leon@kernel.org> |
|---|---|
| Date | 2017-01-22 20:10 +0100 |
| Subject | Re: [PATCH] net/mlx4: use rb_entry() |
| Message-ID | <t2vGy-4Dn-17@gated-at.bofh.it> |
| In reply to | #1564413 |
[Multipart message β attachments visible in raw view] — view raw
On Sun, Jan 22, 2017 at 10:42:25PM +0800, Geliang Tang wrote: > On Sun, Jan 22, 2017 at 09:48:39AM +0200, Leon Romanovsky wrote: > > On Fri, Jan 20, 2017 at 10:36:57PM +0800, Geliang Tang wrote: > > > To make the code clearer, use rb_entry() instead of container_of() to > > > deal with rbtree. > > > > > > Signed-off-by: Geliang Tang <geliangtang@gmail.com> > > > --- > > > drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 8 ++++---- > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > I don't understand completely the rationale behind this conversion. > > rb_entry == container_of, why do we need another name for it? > > > > There are several *_entry macros which are defined in kernel data > structures, like list_entry, hlist_entry, rb_entry, etc. Each of them is > just another name for container_of. We use different *_entry so that we > could identify the specific type of data structure that we are dealing > with. Your proposed patch doesn't support the importance of such knowledge for rb_entry. The list_entry case is totally different, because you perform operation on it. Anyway, It doesn't matter. Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-01-22 22:50 +0100 |
| Subject | Re: [PATCH] net/mlx4: use rb_entry() |
| Message-ID | <t2ybn-61y-13@gated-at.bofh.it> |
| In reply to | #1564322 |
From: Leon Romanovsky <leon@kernel.org> Date: Sun, 22 Jan 2017 09:48:39 +0200 > I don't understand completely the rationale behind this conversion. > rb_entry == container_of, why do we need another name for it? Because it's an annotation. Either you agree that the macro exists and it should be used in every spot where those types are being used, or you don't and therefore argue for the macro and it's usage completely.
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-01-22 22:50 +0100 |
| Subject | Re: [PATCH] net/mlx4: use rb_entry() |
| Message-ID | <t2ybn-61y-1@gated-at.bofh.it> |
| In reply to | #1563682 |
From: Geliang Tang <geliangtang@gmail.com> Date: Fri, 20 Jan 2017 22:36:57 +0800 > To make the code clearer, use rb_entry() instead of container_of() to > deal with rbtree. > > Signed-off-by: Geliang Tang <geliangtang@gmail.com> Applied.
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-01-20 15:50 +0100 |
| Subject | [PATCH] dm bio prison: use rb_entry() |
| Message-ID | <t1IFQ-8tF-27@gated-at.bofh.it> |
| In reply to | #1563675 |
To make the code clearer, use rb_entry() instead of container_of() to
deal with rbtree.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
drivers/md/dm-bio-prison.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/md/dm-bio-prison.c b/drivers/md/dm-bio-prison.c
index 03af174..a2c8a9e 100644
--- a/drivers/md/dm-bio-prison.c
+++ b/drivers/md/dm-bio-prison.c
@@ -115,7 +115,7 @@ static int __bio_detain(struct dm_bio_prison *prison,
while (*new) {
struct dm_bio_prison_cell *cell =
- container_of(*new, struct dm_bio_prison_cell, node);
+ rb_entry(*new, struct dm_bio_prison_cell, node);
r = cmp_keys(key, &cell->key);
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Coly Li <colyli@suse.de> |
|---|---|
| Date | 2017-01-20 16:20 +0100 |
| Subject | Re: [PATCH] dm bio prison: use rb_entry() |
| Message-ID | <t1J8S-sc-13@gated-at.bofh.it> |
| In reply to | #1563683 |
On 2017/1/20 δΈε10:36, Geliang Tang wrote:
> To make the code clearer, use rb_entry() instead of container_of() to
> deal with rbtree.
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> ---
> drivers/md/dm-bio-prison.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/md/dm-bio-prison.c b/drivers/md/dm-bio-prison.c
> index 03af174..a2c8a9e 100644
> --- a/drivers/md/dm-bio-prison.c
> +++ b/drivers/md/dm-bio-prison.c
> @@ -115,7 +115,7 @@ static int __bio_detain(struct dm_bio_prison *prison,
>
> while (*new) {
> struct dm_bio_prison_cell *cell =
> - container_of(*new, struct dm_bio_prison_cell, node);
> + rb_entry(*new, struct dm_bio_prison_cell, node);
>
> r = cmp_keys(key, &cell->key);
>
>
Acked-by: Coly Li <colyli@suse.de>
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-01-20 15:50 +0100 |
| Subject | [PATCH] drm/i915/error: use rb_entry() |
| Message-ID | <t1IFQ-8tF-29@gated-at.bofh.it> |
| In reply to | #1563675 |
To make the code clearer, use rb_entry() instead of container_of() to
deal with rbtree.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
drivers/gpu/drm/i915/i915_gpu_error.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 9cd22cd..e537532 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -1080,7 +1080,7 @@ static void error_record_engine_waiters(struct intel_engine_cs *engine,
ee->waiters = waiter;
for (rb = rb_first(&b->waiters); rb; rb = rb_next(rb)) {
- struct intel_wait *w = container_of(rb, typeof(*w), node);
+ struct intel_wait *w = rb_entry(rb, typeof(*w), node);
strcpy(waiter->comm, w->tsk->comm);
waiter->pid = w->tsk->pid;
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Chris Wilson <chris@chris-wilson.co.uk> |
|---|---|
| Date | 2017-01-23 10:20 +0100 |
| Subject | Re: [Intel-gfx] [PATCH] drm/i915/error: use rb_entry() |
| Message-ID | <t2IX7-4Ae-3@gated-at.bofh.it> |
| In reply to | #1563685 |
On Fri, Jan 20, 2017 at 10:36:55PM +0800, Geliang Tang wrote: > To make the code clearer, use rb_entry() instead of container_of() to > deal with rbtree. > > Signed-off-by: Geliang Tang <geliangtang@gmail.com> Applied, thanks. -Chris -- Chris Wilson, Intel Open Source Technology Centre
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-01-20 15:50 +0100 |
| Subject | [PATCH] drm/nouveau/client: use rb_entry() |
| Message-ID | <t1IFR-8tF-41@gated-at.bofh.it> |
| In reply to | #1563675 |
To make the code clearer, use rb_entry() instead of container_of() to
deal with rbtree.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
drivers/gpu/drm/nouveau/nvkm/core/client.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/core/client.c b/drivers/gpu/drm/nouveau/nvkm/core/client.c
index e194391..ab2ee14 100644
--- a/drivers/gpu/drm/nouveau/nvkm/core/client.c
+++ b/drivers/gpu/drm/nouveau/nvkm/core/client.c
@@ -221,7 +221,7 @@ nvkm_client_insert(struct nvkm_client *client, struct nvkm_object *object)
while (*ptr) {
struct nvkm_object *this =
- container_of(*ptr, typeof(*this), node);
+ rb_entry(*ptr, typeof(*this), node);
parent = *ptr;
if (object->object < this->object)
ptr = &parent->rb_left;
@@ -243,7 +243,7 @@ nvkm_client_search(struct nvkm_client *client, u64 handle)
struct rb_node *node = client->objroot.rb_node;
while (node) {
struct nvkm_object *object =
- container_of(node, typeof(*object), node);
+ rb_entry(node, typeof(*object), node);
if (handle < object->object)
node = node->rb_left;
else
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-01-22 22:50 +0100 |
| Message-ID | <t2ybn-61y-15@gated-at.bofh.it> |
| In reply to | #1563675 |
From: Geliang Tang <geliangtang@gmail.com> Date: Fri, 20 Jan 2017 22:36:53 +0800 > To make the code clearer, use rb_entry() instead of container_of() to > deal with rbtree. > > Signed-off-by: Geliang Tang <geliangtang@gmail.com> Applied.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web