2015-11-16 13:47:58

by Geliang Tang

[permalink] [raw]
Subject: [PATCH 1/3] misc: mic/scif: use list_next_entry instead of list_entry_next

list_next_entry has been defined in list.h, so I replace list_entry_next
with it.

Signed-off-by: Geliang Tang <[email protected]>
---
drivers/misc/mic/scif/scif_dma.c | 27 +++++++++++----------------
1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/drivers/misc/mic/scif/scif_dma.c b/drivers/misc/mic/scif/scif_dma.c
index 95a13c6..8804bcc 100644
--- a/drivers/misc/mic/scif/scif_dma.c
+++ b/drivers/misc/mic/scif/scif_dma.c
@@ -74,11 +74,6 @@ struct scif_copy_work {
bool ordered;
};

-#ifndef list_entry_next
-#define list_entry_next(pos, member) \
- list_entry(pos->member.next, typeof(*pos), member)
-#endif
-
/**
* scif_reserve_dma_chan:
* @ep: Endpoint Descriptor.
@@ -851,7 +846,7 @@ static void scif_rma_local_cpu_copy(s64 offset, struct scif_window *window,
(window->nr_pages << PAGE_SHIFT);
while (rem_len) {
if (offset == end_offset) {
- window = list_entry_next(window, list);
+ window = list_next_entry(window, list);
end_offset = window->offset +
(window->nr_pages << PAGE_SHIFT);
}
@@ -957,7 +952,7 @@ scif_rma_list_dma_copy_unaligned(struct scif_copy_work *work,
remaining_len -= tail_len;
while (remaining_len) {
if (offset == end_offset) {
- window = list_entry_next(window, list);
+ window = list_next_entry(window, list);
end_offset = window->offset +
(window->nr_pages << PAGE_SHIFT);
}
@@ -1064,7 +1059,7 @@ scif_rma_list_dma_copy_unaligned(struct scif_copy_work *work,
}
if (tail_len) {
if (offset == end_offset) {
- window = list_entry_next(window, list);
+ window = list_next_entry(window, list);
end_offset = window->offset +
(window->nr_pages << PAGE_SHIFT);
}
@@ -1147,13 +1142,13 @@ static int _scif_rma_list_dma_copy_aligned(struct scif_copy_work *work,
(dst_window->nr_pages << PAGE_SHIFT);
while (remaining_len) {
if (src_offset == end_src_offset) {
- src_window = list_entry_next(src_window, list);
+ src_window = list_next_entry(src_window, list);
end_src_offset = src_window->offset +
(src_window->nr_pages << PAGE_SHIFT);
scif_init_window_iter(src_window, &src_win_iter);
}
if (dst_offset == end_dst_offset) {
- dst_window = list_entry_next(dst_window, list);
+ dst_window = list_next_entry(dst_window, list);
end_dst_offset = dst_window->offset +
(dst_window->nr_pages << PAGE_SHIFT);
scif_init_window_iter(dst_window, &dst_win_iter);
@@ -1314,13 +1309,13 @@ static int scif_rma_list_dma_copy_aligned(struct scif_copy_work *work,
remaining_len -= tail_len;
while (remaining_len) {
if (src_offset == end_src_offset) {
- src_window = list_entry_next(src_window, list);
+ src_window = list_next_entry(src_window, list);
end_src_offset = src_window->offset +
(src_window->nr_pages << PAGE_SHIFT);
scif_init_window_iter(src_window, &src_win_iter);
}
if (dst_offset == end_dst_offset) {
- dst_window = list_entry_next(dst_window, list);
+ dst_window = list_next_entry(dst_window, list);
end_dst_offset = dst_window->offset +
(dst_window->nr_pages << PAGE_SHIFT);
scif_init_window_iter(dst_window, &dst_win_iter);
@@ -1405,9 +1400,9 @@ static int scif_rma_list_dma_copy_aligned(struct scif_copy_work *work,
if (remaining_len) {
loop_len = remaining_len;
if (src_offset == end_src_offset)
- src_window = list_entry_next(src_window, list);
+ src_window = list_next_entry(src_window, list);
if (dst_offset == end_dst_offset)
- dst_window = list_entry_next(dst_window, list);
+ dst_window = list_next_entry(dst_window, list);

src_dma_addr = __scif_off_to_dma_addr(src_window, src_offset);
dst_dma_addr = __scif_off_to_dma_addr(dst_window, dst_offset);
@@ -1550,12 +1545,12 @@ static int scif_rma_list_cpu_copy(struct scif_copy_work *work)
end_dst_offset = dst_window->offset +
(dst_window->nr_pages << PAGE_SHIFT);
if (src_offset == end_src_offset) {
- src_window = list_entry_next(src_window, list);
+ src_window = list_next_entry(src_window, list);
scif_init_window_iter(src_window,
&src_win_iter);
}
if (dst_offset == end_dst_offset) {
- dst_window = list_entry_next(dst_window, list);
+ dst_window = list_next_entry(dst_window, list);
scif_init_window_iter(dst_window,
&dst_win_iter);
}
--
2.5.0


2015-11-16 13:47:10

by Geliang Tang

[permalink] [raw]
Subject: [PATCH 2/3] libceph: use list_next_entry instead of list_entry_next

list_next_entry has been defined in list.h, so I replace list_entry_next
with it.

Signed-off-by: Geliang Tang <[email protected]>
---
net/ceph/messenger.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 9981039..b1d1489 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -23,9 +23,6 @@
#include <linux/ceph/pagelist.h>
#include <linux/export.h>

-#define list_entry_next(pos, member) \
- list_entry(pos->member.next, typeof(*pos), member)
-
/*
* Ceph uses the messenger to exchange ceph_msg messages with other
* hosts in the system. The messenger provides ordered and reliable
@@ -1042,7 +1039,7 @@ static bool ceph_msg_data_pagelist_advance(struct ceph_msg_data_cursor *cursor,
/* Move on to the next page */

BUG_ON(list_is_last(&cursor->page->lru, &pagelist->head));
- cursor->page = list_entry_next(cursor->page, lru);
+ cursor->page = list_next_entry(cursor->page, lru);
cursor->last_piece = cursor->resid <= PAGE_SIZE;

return true;
@@ -1166,7 +1163,7 @@ static bool ceph_msg_data_advance(struct ceph_msg_data_cursor *cursor,
if (!cursor->resid && cursor->total_resid) {
WARN_ON(!cursor->last_piece);
BUG_ON(list_is_last(&cursor->data->links, cursor->data_head));
- cursor->data = list_entry_next(cursor->data, links);
+ cursor->data = list_next_entry(cursor->data, links);
__ceph_msg_data_cursor_init(cursor);
new_piece = true;
}
--
2.5.0

2015-11-16 13:47:19

by Geliang Tang

[permalink] [raw]
Subject: [PATCH 3/3] apparmor: use list_next_entry instead of list_entry_next

list_next_entry has been defined in list.h, so I replace list_entry_next
with it.

Signed-off-by: Geliang Tang <[email protected]>
---
security/apparmor/apparmorfs.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
index ad4fa49..7a00bb7 100644
--- a/security/apparmor/apparmorfs.c
+++ b/security/apparmor/apparmorfs.c
@@ -550,8 +550,6 @@ fail2:
}


-#define list_entry_next(pos, member) \
- list_entry(pos->member.next, typeof(*pos), member)
#define list_entry_is_head(pos, head, member) (&pos->member == (head))

/**
@@ -582,7 +580,7 @@ static struct aa_namespace *__next_namespace(struct aa_namespace *root,
parent = ns->parent;
while (ns != root) {
mutex_unlock(&ns->lock);
- next = list_entry_next(ns, base.list);
+ next = list_next_entry(ns, base.list);
if (!list_entry_is_head(next, &parent->sub_ns, base.list)) {
mutex_lock(&next->lock);
return next;
@@ -636,7 +634,7 @@ static struct aa_profile *__next_profile(struct aa_profile *p)
parent = rcu_dereference_protected(p->parent,
mutex_is_locked(&p->ns->lock));
while (parent) {
- p = list_entry_next(p, base.list);
+ p = list_next_entry(p, base.list);
if (!list_entry_is_head(p, &parent->base.profiles, base.list))
return p;
p = parent;
@@ -645,7 +643,7 @@ static struct aa_profile *__next_profile(struct aa_profile *p)
}

/* is next another profile in the namespace */
- p = list_entry_next(p, base.list);
+ p = list_next_entry(p, base.list);
if (!list_entry_is_head(p, &ns->base.profiles, base.list))
return p;

--
2.5.0

2015-11-16 17:10:45

by Dutt, Sudeep

[permalink] [raw]
Subject: Re: [PATCH 1/3] misc: mic/scif: use list_next_entry instead of list_entry_next

On Mon, 2015-11-16 at 21:46 +0800, Geliang Tang wrote:
> list_next_entry has been defined in list.h, so I replace list_entry_next
> with it.
>

Thanks for the cleanup.

Reviewed-by: Sudeep Dutt <[email protected]>

> Signed-off-by: Geliang Tang <[email protected]>
> ---
> drivers/misc/mic/scif/scif_dma.c | 27 +++++++++++----------------
> 1 file changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/misc/mic/scif/scif_dma.c b/drivers/misc/mic/scif/scif_dma.c
> index 95a13c6..8804bcc 100644
> --- a/drivers/misc/mic/scif/scif_dma.c
> +++ b/drivers/misc/mic/scif/scif_dma.c
> @@ -74,11 +74,6 @@ struct scif_copy_work {
> bool ordered;
> };
>
> -#ifndef list_entry_next
> -#define list_entry_next(pos, member) \
> - list_entry(pos->member.next, typeof(*pos), member)
> -#endif
> -
> /**
> * scif_reserve_dma_chan:
> * @ep: Endpoint Descriptor.
> @@ -851,7 +846,7 @@ static void scif_rma_local_cpu_copy(s64 offset, struct scif_window *window,
> (window->nr_pages << PAGE_SHIFT);
> while (rem_len) {
> if (offset == end_offset) {
> - window = list_entry_next(window, list);
> + window = list_next_entry(window, list);
> end_offset = window->offset +
> (window->nr_pages << PAGE_SHIFT);
> }
> @@ -957,7 +952,7 @@ scif_rma_list_dma_copy_unaligned(struct scif_copy_work *work,
> remaining_len -= tail_len;
> while (remaining_len) {
> if (offset == end_offset) {
> - window = list_entry_next(window, list);
> + window = list_next_entry(window, list);
> end_offset = window->offset +
> (window->nr_pages << PAGE_SHIFT);
> }
> @@ -1064,7 +1059,7 @@ scif_rma_list_dma_copy_unaligned(struct scif_copy_work *work,
> }
> if (tail_len) {
> if (offset == end_offset) {
> - window = list_entry_next(window, list);
> + window = list_next_entry(window, list);
> end_offset = window->offset +
> (window->nr_pages << PAGE_SHIFT);
> }
> @@ -1147,13 +1142,13 @@ static int _scif_rma_list_dma_copy_aligned(struct scif_copy_work *work,
> (dst_window->nr_pages << PAGE_SHIFT);
> while (remaining_len) {
> if (src_offset == end_src_offset) {
> - src_window = list_entry_next(src_window, list);
> + src_window = list_next_entry(src_window, list);
> end_src_offset = src_window->offset +
> (src_window->nr_pages << PAGE_SHIFT);
> scif_init_window_iter(src_window, &src_win_iter);
> }
> if (dst_offset == end_dst_offset) {
> - dst_window = list_entry_next(dst_window, list);
> + dst_window = list_next_entry(dst_window, list);
> end_dst_offset = dst_window->offset +
> (dst_window->nr_pages << PAGE_SHIFT);
> scif_init_window_iter(dst_window, &dst_win_iter);
> @@ -1314,13 +1309,13 @@ static int scif_rma_list_dma_copy_aligned(struct scif_copy_work *work,
> remaining_len -= tail_len;
> while (remaining_len) {
> if (src_offset == end_src_offset) {
> - src_window = list_entry_next(src_window, list);
> + src_window = list_next_entry(src_window, list);
> end_src_offset = src_window->offset +
> (src_window->nr_pages << PAGE_SHIFT);
> scif_init_window_iter(src_window, &src_win_iter);
> }
> if (dst_offset == end_dst_offset) {
> - dst_window = list_entry_next(dst_window, list);
> + dst_window = list_next_entry(dst_window, list);
> end_dst_offset = dst_window->offset +
> (dst_window->nr_pages << PAGE_SHIFT);
> scif_init_window_iter(dst_window, &dst_win_iter);
> @@ -1405,9 +1400,9 @@ static int scif_rma_list_dma_copy_aligned(struct scif_copy_work *work,
> if (remaining_len) {
> loop_len = remaining_len;
> if (src_offset == end_src_offset)
> - src_window = list_entry_next(src_window, list);
> + src_window = list_next_entry(src_window, list);
> if (dst_offset == end_dst_offset)
> - dst_window = list_entry_next(dst_window, list);
> + dst_window = list_next_entry(dst_window, list);
>
> src_dma_addr = __scif_off_to_dma_addr(src_window, src_offset);
> dst_dma_addr = __scif_off_to_dma_addr(dst_window, dst_offset);
> @@ -1550,12 +1545,12 @@ static int scif_rma_list_cpu_copy(struct scif_copy_work *work)
> end_dst_offset = dst_window->offset +
> (dst_window->nr_pages << PAGE_SHIFT);
> if (src_offset == end_src_offset) {
> - src_window = list_entry_next(src_window, list);
> + src_window = list_next_entry(src_window, list);
> scif_init_window_iter(src_window,
> &src_win_iter);
> }
> if (dst_offset == end_dst_offset) {
> - dst_window = list_entry_next(dst_window, list);
> + dst_window = list_next_entry(dst_window, list);
> scif_init_window_iter(dst_window,
> &dst_win_iter);
> }

2015-11-17 16:27:27

by Ilya Dryomov

[permalink] [raw]
Subject: Re: [PATCH 2/3] libceph: use list_next_entry instead of list_entry_next

On Mon, Nov 16, 2015 at 2:46 PM, Geliang Tang <[email protected]> wrote:
> list_next_entry has been defined in list.h, so I replace list_entry_next
> with it.
>
> Signed-off-by: Geliang Tang <[email protected]>
> ---
> net/ceph/messenger.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index 9981039..b1d1489 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -23,9 +23,6 @@
> #include <linux/ceph/pagelist.h>
> #include <linux/export.h>
>
> -#define list_entry_next(pos, member) \
> - list_entry(pos->member.next, typeof(*pos), member)
> -
> /*
> * Ceph uses the messenger to exchange ceph_msg messages with other
> * hosts in the system. The messenger provides ordered and reliable
> @@ -1042,7 +1039,7 @@ static bool ceph_msg_data_pagelist_advance(struct ceph_msg_data_cursor *cursor,
> /* Move on to the next page */
>
> BUG_ON(list_is_last(&cursor->page->lru, &pagelist->head));
> - cursor->page = list_entry_next(cursor->page, lru);
> + cursor->page = list_next_entry(cursor->page, lru);
> cursor->last_piece = cursor->resid <= PAGE_SIZE;
>
> return true;
> @@ -1166,7 +1163,7 @@ static bool ceph_msg_data_advance(struct ceph_msg_data_cursor *cursor,
> if (!cursor->resid && cursor->total_resid) {
> WARN_ON(!cursor->last_piece);
> BUG_ON(list_is_last(&cursor->data->links, cursor->data_head));
> - cursor->data = list_entry_next(cursor->data, links);
> + cursor->data = list_next_entry(cursor->data, links);
> __ceph_msg_data_cursor_init(cursor);
> new_piece = true;
> }

Applied.

Thanks,

Ilya

2015-11-18 03:44:32

by Serge Hallyn

[permalink] [raw]
Subject: Re: [PATCH 3/3] apparmor: use list_next_entry instead of list_entry_next

On Mon, Nov 16, 2015 at 09:46:33PM +0800, Geliang Tang wrote:
> list_next_entry has been defined in list.h, so I replace list_entry_next
> with it.
>
> Signed-off-by: Geliang Tang <[email protected]>

Seems reasonable.

Acked-by: Serge Hallyn <[email protected]>

> ---
> security/apparmor/apparmorfs.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
> index ad4fa49..7a00bb7 100644
> --- a/security/apparmor/apparmorfs.c
> +++ b/security/apparmor/apparmorfs.c
> @@ -550,8 +550,6 @@ fail2:
> }
>
>
> -#define list_entry_next(pos, member) \
> - list_entry(pos->member.next, typeof(*pos), member)
> #define list_entry_is_head(pos, head, member) (&pos->member == (head))
>
> /**
> @@ -582,7 +580,7 @@ static struct aa_namespace *__next_namespace(struct aa_namespace *root,
> parent = ns->parent;
> while (ns != root) {
> mutex_unlock(&ns->lock);
> - next = list_entry_next(ns, base.list);
> + next = list_next_entry(ns, base.list);
> if (!list_entry_is_head(next, &parent->sub_ns, base.list)) {
> mutex_lock(&next->lock);
> return next;
> @@ -636,7 +634,7 @@ static struct aa_profile *__next_profile(struct aa_profile *p)
> parent = rcu_dereference_protected(p->parent,
> mutex_is_locked(&p->ns->lock));
> while (parent) {
> - p = list_entry_next(p, base.list);
> + p = list_next_entry(p, base.list);
> if (!list_entry_is_head(p, &parent->base.profiles, base.list))
> return p;
> p = parent;
> @@ -645,7 +643,7 @@ static struct aa_profile *__next_profile(struct aa_profile *p)
> }
>
> /* is next another profile in the namespace */
> - p = list_entry_next(p, base.list);
> + p = list_next_entry(p, base.list);
> if (!list_entry_is_head(p, &ns->base.profiles, base.list))
> return p;
>
> --
> 2.5.0
>

2015-11-18 05:09:26

by John Johansen

[permalink] [raw]
Subject: Re: [PATCH 3/3] apparmor: use list_next_entry instead of list_entry_next

On 11/16/2015 05:46 AM, Geliang Tang wrote:
> list_next_entry has been defined in list.h, so I replace list_entry_next
> with it.
>
> Signed-off-by: Geliang Tang <[email protected]>

yep looks good

Acked-by: John Johansen <[email protected]>

> ---
> security/apparmor/apparmorfs.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
> index ad4fa49..7a00bb7 100644
> --- a/security/apparmor/apparmorfs.c
> +++ b/security/apparmor/apparmorfs.c
> @@ -550,8 +550,6 @@ fail2:
> }
>
>
> -#define list_entry_next(pos, member) \
> - list_entry(pos->member.next, typeof(*pos), member)
> #define list_entry_is_head(pos, head, member) (&pos->member == (head))
>
> /**
> @@ -582,7 +580,7 @@ static struct aa_namespace *__next_namespace(struct aa_namespace *root,
> parent = ns->parent;
> while (ns != root) {
> mutex_unlock(&ns->lock);
> - next = list_entry_next(ns, base.list);
> + next = list_next_entry(ns, base.list);
> if (!list_entry_is_head(next, &parent->sub_ns, base.list)) {
> mutex_lock(&next->lock);
> return next;
> @@ -636,7 +634,7 @@ static struct aa_profile *__next_profile(struct aa_profile *p)
> parent = rcu_dereference_protected(p->parent,
> mutex_is_locked(&p->ns->lock));
> while (parent) {
> - p = list_entry_next(p, base.list);
> + p = list_next_entry(p, base.list);
> if (!list_entry_is_head(p, &parent->base.profiles, base.list))
> return p;
> p = parent;
> @@ -645,7 +643,7 @@ static struct aa_profile *__next_profile(struct aa_profile *p)
> }
>
> /* is next another profile in the namespace */
> - p = list_entry_next(p, base.list);
> + p = list_next_entry(p, base.list);
> if (!list_entry_is_head(p, &ns->base.profiles, base.list))
> return p;
>
>