diff for duplicates of <20180104234732.GM9671@linux.vnet.ibm.com> diff --git a/a/1.txt b/N1/1.txt index a2fa8ed..98cae07 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,13 +1,13 @@ On Thu, Jan 04, 2018 at 03:13:07PM -0800, Matthew Wilcox wrote: > On Thu, Jan 04, 2018 at 02:18:50PM -0800, Rao Shoaib wrote: > > > > > > +#define kfree_rcu(ptr, rcu_head_name) \ -> > > > > > + do { \ -> > > > > > + typeof(ptr) __ptr = ptr; \ -> > > > > > + unsigned long __off = offsetof(typeof(*(__ptr)), \ -> > > > > > + rcu_head_name); \ -> > > > > > + struct rcu_head *__rptr = (void *)__ptr + __off; \ -> > > > > > + __kfree_rcu(__rptr, __off); \ -> > > > > > + } while (0) +> > > > > > + do { \ +> > > > > > + typeof(ptr) __ptr = ptr; \ +> > > > > > + unsigned long __off = offsetof(typeof(*(__ptr)), \ +> > > > > > + rcu_head_name); \ +> > > > > > + struct rcu_head *__rptr = (void *)__ptr + __off; \ +> > > > > > + __kfree_rcu(__rptr, __off); \ +> > > > > > + } while (0) > > > > > why do you want to open code this? > > > But why are you changing this macro at all? If it was to avoid the > > > double-mention of "ptr", then you haven't done that. @@ -24,14 +24,14 @@ On Thu, Jan 04, 2018 at 03:13:07PM -0800, Matthew Wilcox wrote: > versus your version: > > +#define kfree_rcu(ptr, rcu_head_name) \ -> + do { \ -> + typeof(ptr) __ptr = ptr; \ +> + do { \ +> + typeof(ptr) __ptr = ptr; \ > ^^^ ^^^ -> + unsigned long __off = offsetof(typeof(*(__ptr)), \ -> + rcu_head_name); \ -> + struct rcu_head *__rptr = (void *)__ptr + __off; \ -> + __kfree_rcu(__rptr, __off); \ -> + } while (0) +> + unsigned long __off = offsetof(typeof(*(__ptr)), \ +> + rcu_head_name); \ +> + struct rcu_head *__rptr = (void *)__ptr + __off; \ +> + __kfree_rcu(__rptr, __off); \ +> + } while (0) > > I don't see the difference. @@ -42,9 +42,3 @@ with this pattern in mainline. Or am I confused about what typeof does? Thanx, Paul - --- -To unsubscribe, send a message with 'unsubscribe linux-mm' in -the body to majordomo@kvack.org. For more info on Linux MM, -see: http://www.linux-mm.org/ . -Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index 1de3635..f7e4cfc 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -21,13 +21,13 @@ "On Thu, Jan 04, 2018 at 03:13:07PM -0800, Matthew Wilcox wrote:\n" "> On Thu, Jan 04, 2018 at 02:18:50PM -0800, Rao Shoaib wrote:\n" "> > > > > > +#define kfree_rcu(ptr, rcu_head_name) \\\n" - "> > > > > > + do { \\\n" - "> > > > > > + typeof(ptr) __ptr = ptr; \\\n" - "> > > > > > + unsigned long __off = offsetof(typeof(*(__ptr)), \\\n" - "> > > > > > + rcu_head_name); \\\n" - "> > > > > > + struct rcu_head *__rptr = (void *)__ptr + __off; \\\n" - "> > > > > > + __kfree_rcu(__rptr, __off); \\\n" - "> > > > > > + } while (0)\n" + "> > > > > > +\302\240\302\240\302\240 do { \\\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 typeof(ptr) __ptr = ptr;\302\240\302\240\302\240 \\\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 unsigned long __off = offsetof(typeof(*(__ptr)), \\\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 rcu_head_name); \\\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 struct rcu_head *__rptr = (void *)__ptr + __off; \\\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 __kfree_rcu(__rptr, __off); \\\n" + "> > > > > > +\302\240\302\240\302\240 } while (0)\n" "> > > > > why do you want to open code this?\n" "> > > But why are you changing this macro at all? If it was to avoid the\n" "> > > double-mention of \"ptr\", then you haven't done that.\n" @@ -44,14 +44,14 @@ "> versus your version:\n" "> \n" "> +#define kfree_rcu(ptr, rcu_head_name) \\\n" - "> + do { \\\n" - "> + typeof(ptr) __ptr = ptr; \\\n" + "> +\302\240\302\240\302\240 do { \\\n" + "> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 typeof(ptr) __ptr = ptr;\302\240\302\240\302\240 \\\n" "> ^^^ ^^^\n" - "> + unsigned long __off = offsetof(typeof(*(__ptr)), \\\n" - "> + rcu_head_name); \\\n" - "> + struct rcu_head *__rptr = (void *)__ptr + __off; \\\n" - "> + __kfree_rcu(__rptr, __off); \\\n" - "> + } while (0)\n" + "> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 unsigned long __off = offsetof(typeof(*(__ptr)), \\\n" + "> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 rcu_head_name); \\\n" + "> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 struct rcu_head *__rptr = (void *)__ptr + __off; \\\n" + "> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 __kfree_rcu(__rptr, __off); \\\n" + "> +\302\240\302\240\302\240 } while (0)\n" "> \n" "> I don't see the difference.\n" "\n" @@ -61,12 +61,6 @@ "\n" "Or am I confused about what typeof does?\n" "\n" - "\t\t\t\t\t\t\tThanx, Paul\n" - "\n" - "--\n" - "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" - "the body to majordomo@kvack.org. For more info on Linux MM,\n" - "see: http://www.linux-mm.org/ .\n" - "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" + "\t\t\t\t\t\t\tThanx, Paul" -31780a969eea88a420941e5b2b508da4b57a62130d5a2f3ab5cbff29ca91f00c +5f957335c863aff99d55667a37c6b44ae636ba6538c99e11999ec4b3dccd70a3
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.