All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Petr Mladek <pmladek@suse.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	dri-devel@lists.freedesktop.org,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	amd-gfx@lists.freedesktop.org,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	intel-gfx@lists.freedesktop.org,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	linux-security-module@vger.kernel.org,
	"Daniel Vetter" <daniel@ffwll.ch>,
	netdev@vger.kernel.org,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH 0/3] lib/string_helpers: Add a few string helpers
Date: Wed, 19 Jan 2022 16:16:12 +0200	[thread overview]
Message-ID: <87tudzbykz.fsf@intel.com> (raw)
In-Reply-To: <YegPiR7LU8aVisMf@alley>

On Wed, 19 Jan 2022, Petr Mladek <pmladek@suse.com> wrote:
> On Tue 2022-01-18 23:24:47, Lucas De Marchi wrote:
>> Add some helpers under lib/string_helpers.h so they can be used
>> throughout the kernel. When I started doing this there were 2 other
>> previous attempts I know of, not counting the iterations each of them
>> had:
>> 
>> 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
>> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t
>> 
>> Going through the comments I tried to find some common ground and
>> justification for what is in here, addressing some of the concerns
>> raised.
>> 
>> d. This doesn't bring onoff() helper as there are some places in the
>>    kernel with onoff as variable - another name is probably needed for
>>    this function in order not to shadow the variable, or those variables
>>    could be renamed.  Or if people wanting  <someprefix>
>>    try to find a short one
>
> I would call it str_on_off().
>
> And I would actually suggest to use the same style also for
> the other helpers.
>
> The "str_" prefix would make it clear that it is something with
> string. There are other <prefix>_on_off() that affect some
> functionality, e.g. mute_led_on_off(), e1000_vlan_filter_on_off().
>
> The dash '_' would significantly help to parse the name. yesno() and
> onoff() are nicely short and kind of acceptable. But "enabledisable()"
> is a puzzle.
>
> IMHO, str_yes_no(), str_on_off(), str_enable_disable() are a good
> compromise.
>
> The main motivation should be code readability. You write the
> code once. But many people will read it many times. Open coding
> is sometimes better than misleading macro names.
>
> That said, I do not want to block this patchset. If others like
> it... ;-)

I don't mind the names either way. Adding the prefix and dashes is
helpful in that it's possible to add the functions first and convert
users at leisure, though with a bunch of churn, while using names that
collide with existing ones requires the changes to happen in one go.

What I do mind is grinding this series to a halt once again. I sent a
handful of versions of this three years ago, with inconclusive
bikeshedding back and forth, eventually threw my hands up in disgust,
and walked away.

>
>
>> e. One alternative to all of this suggested by Christian König
>>    (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
>>    printk format. But besides the comment, he also seemed to like
>>    the common function. This brought the argument from others that the
>>    simple yesno()/enabledisable() already used in the code is easier to
>>    remember and use than e.g. %py[DOY]
>
> Thanks for not going this way :-)
>
>> Last patch also has some additional conversion of open coded cases. I
>> preferred starting with drm/ since this is "closer to home".
>> 
>> I hope this is a good summary of the previous attempts and a way we can
>> move forward.
>> 
>> Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my
>> proposal is to take first 2 patches either through mm tree or maybe
>> vsprintf. Last patch can be taken later through drm.
>
> I agree with Andy that it should go via drm tree. It would make it
> easier to handle potential conflicts.
>
> Just in case, you decide to go with str_yes_no() or something similar.
> Mass changes are typically done at the end on the merge window.
> The best solution is when it can be done by a script.
>
> Best Regards,
> Petr

-- 
Jani Nikula, Intel Open Source Graphics Center

WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Petr Mladek <pmladek@suse.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	dri-devel@lists.freedesktop.org,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	amd-gfx@lists.freedesktop.org,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	intel-gfx@lists.freedesktop.org,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	linux-security-module@vger.kernel.org, netdev@vger.kernel.org,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [Intel-gfx] [PATCH 0/3] lib/string_helpers: Add a few string helpers
Date: Wed, 19 Jan 2022 16:16:12 +0200	[thread overview]
Message-ID: <87tudzbykz.fsf@intel.com> (raw)
In-Reply-To: <YegPiR7LU8aVisMf@alley>

On Wed, 19 Jan 2022, Petr Mladek <pmladek@suse.com> wrote:
> On Tue 2022-01-18 23:24:47, Lucas De Marchi wrote:
>> Add some helpers under lib/string_helpers.h so they can be used
>> throughout the kernel. When I started doing this there were 2 other
>> previous attempts I know of, not counting the iterations each of them
>> had:
>> 
>> 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
>> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t
>> 
>> Going through the comments I tried to find some common ground and
>> justification for what is in here, addressing some of the concerns
>> raised.
>> 
>> d. This doesn't bring onoff() helper as there are some places in the
>>    kernel with onoff as variable - another name is probably needed for
>>    this function in order not to shadow the variable, or those variables
>>    could be renamed.  Or if people wanting  <someprefix>
>>    try to find a short one
>
> I would call it str_on_off().
>
> And I would actually suggest to use the same style also for
> the other helpers.
>
> The "str_" prefix would make it clear that it is something with
> string. There are other <prefix>_on_off() that affect some
> functionality, e.g. mute_led_on_off(), e1000_vlan_filter_on_off().
>
> The dash '_' would significantly help to parse the name. yesno() and
> onoff() are nicely short and kind of acceptable. But "enabledisable()"
> is a puzzle.
>
> IMHO, str_yes_no(), str_on_off(), str_enable_disable() are a good
> compromise.
>
> The main motivation should be code readability. You write the
> code once. But many people will read it many times. Open coding
> is sometimes better than misleading macro names.
>
> That said, I do not want to block this patchset. If others like
> it... ;-)

I don't mind the names either way. Adding the prefix and dashes is
helpful in that it's possible to add the functions first and convert
users at leisure, though with a bunch of churn, while using names that
collide with existing ones requires the changes to happen in one go.

What I do mind is grinding this series to a halt once again. I sent a
handful of versions of this three years ago, with inconclusive
bikeshedding back and forth, eventually threw my hands up in disgust,
and walked away.

>
>
>> e. One alternative to all of this suggested by Christian König
>>    (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
>>    printk format. But besides the comment, he also seemed to like
>>    the common function. This brought the argument from others that the
>>    simple yesno()/enabledisable() already used in the code is easier to
>>    remember and use than e.g. %py[DOY]
>
> Thanks for not going this way :-)
>
>> Last patch also has some additional conversion of open coded cases. I
>> preferred starting with drm/ since this is "closer to home".
>> 
>> I hope this is a good summary of the previous attempts and a way we can
>> move forward.
>> 
>> Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my
>> proposal is to take first 2 patches either through mm tree or maybe
>> vsprintf. Last patch can be taken later through drm.
>
> I agree with Andy that it should go via drm tree. It would make it
> easier to handle potential conflicts.
>
> Just in case, you decide to go with str_yes_no() or something similar.
> Mass changes are typically done at the end on the merge window.
> The best solution is when it can be done by a script.
>
> Best Regards,
> Petr

-- 
Jani Nikula, Intel Open Source Graphics Center

WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Petr Mladek <pmladek@suse.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>
Cc: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-security-module@vger.kernel.org,
	nouveau@lists.freedesktop.org, netdev@vger.kernel.org,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"David Airlie" <airlied@linux.ie>,
	"David S . Miller" <davem@davemloft.net>,
	"Emma Anholt" <emma@anholt.net>, "Eryk Brol" <eryk.brol@amd.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Vishal Kulkarni" <vishal@chelsio.com>
Subject: Re: [PATCH 0/3] lib/string_helpers: Add a few string helpers
Date: Wed, 19 Jan 2022 16:16:12 +0200	[thread overview]
Message-ID: <87tudzbykz.fsf@intel.com> (raw)
In-Reply-To: <YegPiR7LU8aVisMf@alley>

On Wed, 19 Jan 2022, Petr Mladek <pmladek@suse.com> wrote:
> On Tue 2022-01-18 23:24:47, Lucas De Marchi wrote:
>> Add some helpers under lib/string_helpers.h so they can be used
>> throughout the kernel. When I started doing this there were 2 other
>> previous attempts I know of, not counting the iterations each of them
>> had:
>> 
>> 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
>> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t
>> 
>> Going through the comments I tried to find some common ground and
>> justification for what is in here, addressing some of the concerns
>> raised.
>> 
>> d. This doesn't bring onoff() helper as there are some places in the
>>    kernel with onoff as variable - another name is probably needed for
>>    this function in order not to shadow the variable, or those variables
>>    could be renamed.  Or if people wanting  <someprefix>
>>    try to find a short one
>
> I would call it str_on_off().
>
> And I would actually suggest to use the same style also for
> the other helpers.
>
> The "str_" prefix would make it clear that it is something with
> string. There are other <prefix>_on_off() that affect some
> functionality, e.g. mute_led_on_off(), e1000_vlan_filter_on_off().
>
> The dash '_' would significantly help to parse the name. yesno() and
> onoff() are nicely short and kind of acceptable. But "enabledisable()"
> is a puzzle.
>
> IMHO, str_yes_no(), str_on_off(), str_enable_disable() are a good
> compromise.
>
> The main motivation should be code readability. You write the
> code once. But many people will read it many times. Open coding
> is sometimes better than misleading macro names.
>
> That said, I do not want to block this patchset. If others like
> it... ;-)

I don't mind the names either way. Adding the prefix and dashes is
helpful in that it's possible to add the functions first and convert
users at leisure, though with a bunch of churn, while using names that
collide with existing ones requires the changes to happen in one go.

What I do mind is grinding this series to a halt once again. I sent a
handful of versions of this three years ago, with inconclusive
bikeshedding back and forth, eventually threw my hands up in disgust,
and walked away.

>
>
>> e. One alternative to all of this suggested by Christian König
>>    (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
>>    printk format. But besides the comment, he also seemed to like
>>    the common function. This brought the argument from others that the
>>    simple yesno()/enabledisable() already used in the code is easier to
>>    remember and use than e.g. %py[DOY]
>
> Thanks for not going this way :-)
>
>> Last patch also has some additional conversion of open coded cases. I
>> preferred starting with drm/ since this is "closer to home".
>> 
>> I hope this is a good summary of the previous attempts and a way we can
>> move forward.
>> 
>> Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my
>> proposal is to take first 2 patches either through mm tree or maybe
>> vsprintf. Last patch can be taken later through drm.
>
> I agree with Andy that it should go via drm tree. It would make it
> easier to handle potential conflicts.
>
> Just in case, you decide to go with str_yes_no() or something similar.
> Mass changes are typically done at the end on the merge window.
> The best solution is when it can be done by a script.
>
> Best Regards,
> Petr

-- 
Jani Nikula, Intel Open Source Graphics Center

WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Petr Mladek <pmladek@suse.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	dri-devel@lists.freedesktop.org,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	amd-gfx@lists.freedesktop.org,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	intel-gfx@lists.freedesktop.org,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	linux-security-module@vger.kernel.org,
	"Daniel Vetter" <daniel@ffwll.ch>,
	netdev@vger.kernel.org,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [Nouveau] [PATCH 0/3] lib/string_helpers: Add a few string helpers
Date: Wed, 19 Jan 2022 16:16:12 +0200	[thread overview]
Message-ID: <87tudzbykz.fsf@intel.com> (raw)
In-Reply-To: <YegPiR7LU8aVisMf@alley>

On Wed, 19 Jan 2022, Petr Mladek <pmladek@suse.com> wrote:
> On Tue 2022-01-18 23:24:47, Lucas De Marchi wrote:
>> Add some helpers under lib/string_helpers.h so they can be used
>> throughout the kernel. When I started doing this there were 2 other
>> previous attempts I know of, not counting the iterations each of them
>> had:
>> 
>> 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
>> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t
>> 
>> Going through the comments I tried to find some common ground and
>> justification for what is in here, addressing some of the concerns
>> raised.
>> 
>> d. This doesn't bring onoff() helper as there are some places in the
>>    kernel with onoff as variable - another name is probably needed for
>>    this function in order not to shadow the variable, or those variables
>>    could be renamed.  Or if people wanting  <someprefix>
>>    try to find a short one
>
> I would call it str_on_off().
>
> And I would actually suggest to use the same style also for
> the other helpers.
>
> The "str_" prefix would make it clear that it is something with
> string. There are other <prefix>_on_off() that affect some
> functionality, e.g. mute_led_on_off(), e1000_vlan_filter_on_off().
>
> The dash '_' would significantly help to parse the name. yesno() and
> onoff() are nicely short and kind of acceptable. But "enabledisable()"
> is a puzzle.
>
> IMHO, str_yes_no(), str_on_off(), str_enable_disable() are a good
> compromise.
>
> The main motivation should be code readability. You write the
> code once. But many people will read it many times. Open coding
> is sometimes better than misleading macro names.
>
> That said, I do not want to block this patchset. If others like
> it... ;-)

I don't mind the names either way. Adding the prefix and dashes is
helpful in that it's possible to add the functions first and convert
users at leisure, though with a bunch of churn, while using names that
collide with existing ones requires the changes to happen in one go.

What I do mind is grinding this series to a halt once again. I sent a
handful of versions of this three years ago, with inconclusive
bikeshedding back and forth, eventually threw my hands up in disgust,
and walked away.

>
>
>> e. One alternative to all of this suggested by Christian König
>>    (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
>>    printk format. But besides the comment, he also seemed to like
>>    the common function. This brought the argument from others that the
>>    simple yesno()/enabledisable() already used in the code is easier to
>>    remember and use than e.g. %py[DOY]
>
> Thanks for not going this way :-)
>
>> Last patch also has some additional conversion of open coded cases. I
>> preferred starting with drm/ since this is "closer to home".
>> 
>> I hope this is a good summary of the previous attempts and a way we can
>> move forward.
>> 
>> Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my
>> proposal is to take first 2 patches either through mm tree or maybe
>> vsprintf. Last patch can be taken later through drm.
>
> I agree with Andy that it should go via drm tree. It would make it
> easier to handle potential conflicts.
>
> Just in case, you decide to go with str_yes_no() or something similar.
> Mass changes are typically done at the end on the merge window.
> The best solution is when it can be done by a script.
>
> Best Regards,
> Petr

-- 
Jani Nikula, Intel Open Source Graphics Center

WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Petr Mladek <pmladek@suse.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	dri-devel@lists.freedesktop.org,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	amd-gfx@lists.freedesktop.org,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	intel-gfx@lists.freedesktop.org,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	linux-security-module@vger.kernel.org, netdev@vger.kernel.org,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH 0/3] lib/string_helpers: Add a few string helpers
Date: Wed, 19 Jan 2022 16:16:12 +0200	[thread overview]
Message-ID: <87tudzbykz.fsf@intel.com> (raw)
In-Reply-To: <YegPiR7LU8aVisMf@alley>

On Wed, 19 Jan 2022, Petr Mladek <pmladek@suse.com> wrote:
> On Tue 2022-01-18 23:24:47, Lucas De Marchi wrote:
>> Add some helpers under lib/string_helpers.h so they can be used
>> throughout the kernel. When I started doing this there were 2 other
>> previous attempts I know of, not counting the iterations each of them
>> had:
>> 
>> 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
>> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t
>> 
>> Going through the comments I tried to find some common ground and
>> justification for what is in here, addressing some of the concerns
>> raised.
>> 
>> d. This doesn't bring onoff() helper as there are some places in the
>>    kernel with onoff as variable - another name is probably needed for
>>    this function in order not to shadow the variable, or those variables
>>    could be renamed.  Or if people wanting  <someprefix>
>>    try to find a short one
>
> I would call it str_on_off().
>
> And I would actually suggest to use the same style also for
> the other helpers.
>
> The "str_" prefix would make it clear that it is something with
> string. There are other <prefix>_on_off() that affect some
> functionality, e.g. mute_led_on_off(), e1000_vlan_filter_on_off().
>
> The dash '_' would significantly help to parse the name. yesno() and
> onoff() are nicely short and kind of acceptable. But "enabledisable()"
> is a puzzle.
>
> IMHO, str_yes_no(), str_on_off(), str_enable_disable() are a good
> compromise.
>
> The main motivation should be code readability. You write the
> code once. But many people will read it many times. Open coding
> is sometimes better than misleading macro names.
>
> That said, I do not want to block this patchset. If others like
> it... ;-)

I don't mind the names either way. Adding the prefix and dashes is
helpful in that it's possible to add the functions first and convert
users at leisure, though with a bunch of churn, while using names that
collide with existing ones requires the changes to happen in one go.

What I do mind is grinding this series to a halt once again. I sent a
handful of versions of this three years ago, with inconclusive
bikeshedding back and forth, eventually threw my hands up in disgust,
and walked away.

>
>
>> e. One alternative to all of this suggested by Christian König
>>    (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
>>    printk format. But besides the comment, he also seemed to like
>>    the common function. This brought the argument from others that the
>>    simple yesno()/enabledisable() already used in the code is easier to
>>    remember and use than e.g. %py[DOY]
>
> Thanks for not going this way :-)
>
>> Last patch also has some additional conversion of open coded cases. I
>> preferred starting with drm/ since this is "closer to home".
>> 
>> I hope this is a good summary of the previous attempts and a way we can
>> move forward.
>> 
>> Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my
>> proposal is to take first 2 patches either through mm tree or maybe
>> vsprintf. Last patch can be taken later through drm.
>
> I agree with Andy that it should go via drm tree. It would make it
> easier to handle potential conflicts.
>
> Just in case, you decide to go with str_yes_no() or something similar.
> Mass changes are typically done at the end on the merge window.
> The best solution is when it can be done by a script.
>
> Best Regards,
> Petr

-- 
Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2022-01-19 14:16 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19  7:24 [PATCH 0/3] lib/string_helpers: Add a few string helpers Lucas De Marchi
2022-01-19  7:24 ` Lucas De Marchi
2022-01-19  7:24 ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24 ` Lucas De Marchi
2022-01-19  7:24 ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:24 ` [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Intel-gfx] " Lucas De Marchi
2022-01-19  9:15   ` Andy Shevchenko
2022-01-19  9:15     ` Andy Shevchenko
2022-01-19  9:15     ` [Nouveau] " Andy Shevchenko
2022-01-19  9:15     ` [Intel-gfx] " Andy Shevchenko
2022-01-19 15:01     ` Steven Rostedt
2022-01-19 15:01       ` Steven Rostedt
2022-01-19 15:01       ` [Nouveau] " Steven Rostedt
2022-01-19 15:01       ` Steven Rostedt
2022-01-19 15:01       ` [Intel-gfx] " Steven Rostedt
2022-01-19 16:37       ` David Laight
2022-01-19 16:37         ` David Laight
2022-01-19 16:37         ` [Nouveau] " David Laight
2022-01-19 16:37         ` David Laight
2022-01-19 16:37         ` [Intel-gfx] " David Laight
2022-01-19 16:38         ` David Laight
2022-01-19 16:38           ` David Laight
2022-01-19 16:38           ` [Nouveau] " David Laight
2022-01-19 16:38           ` David Laight
2022-01-19 16:38           ` [Intel-gfx] " David Laight
2022-01-19 19:22           ` Andy Shevchenko
2022-01-19 19:22             ` Andy Shevchenko
2022-01-19 19:22             ` [Nouveau] " Andy Shevchenko
2022-01-19 19:22             ` Andy Shevchenko
2022-01-19 19:22             ` [Intel-gfx] " Andy Shevchenko
2022-01-19 20:58             ` Steven Rostedt
2022-01-19 20:58               ` Steven Rostedt
2022-01-19 20:58               ` [Nouveau] " Steven Rostedt
2022-01-19 20:58               ` Steven Rostedt
2022-01-19 20:58               ` [Intel-gfx] " Steven Rostedt
2022-01-19 22:25             ` David Laight
2022-01-19 22:25               ` David Laight
2022-01-19 22:25               ` [Nouveau] " David Laight
2022-01-19 22:25               ` David Laight
2022-01-19 22:25               ` [Intel-gfx] " David Laight
2022-01-19  9:18   ` Sakari Ailus
2022-01-19  9:18     ` Sakari Ailus
2022-01-19  9:18     ` [Nouveau] " Sakari Ailus
2022-01-19  9:18     ` Sakari Ailus
2022-01-19  9:18     ` [Intel-gfx] " Sakari Ailus
2022-01-19 15:06     ` Steven Rostedt
2022-01-19 15:06       ` Steven Rostedt
2022-01-19 15:06       ` [Nouveau] " Steven Rostedt
2022-01-19 15:06       ` Steven Rostedt
2022-01-19 15:06       ` [Intel-gfx] " Steven Rostedt
2022-01-19 19:25       ` Andy Shevchenko
2022-01-19 19:25         ` Andy Shevchenko
2022-01-19 19:25         ` [Nouveau] " Andy Shevchenko
2022-01-19 19:25         ` Andy Shevchenko
2022-01-19 19:25         ` [Intel-gfx] " Andy Shevchenko
2022-01-19 21:00         ` Steven Rostedt
2022-01-19 21:00           ` Steven Rostedt
2022-01-19 21:00           ` [Nouveau] " Steven Rostedt
2022-01-19 21:00           ` Steven Rostedt
2022-01-19 21:00           ` [Intel-gfx] " Steven Rostedt
2022-01-19 21:04           ` Andy Shevchenko
2022-01-19 21:04             ` Andy Shevchenko
2022-01-19 21:04             ` [Nouveau] " Andy Shevchenko
2022-01-19 21:04             ` Andy Shevchenko
2022-01-19 21:04             ` [Intel-gfx] " Andy Shevchenko
2022-01-21  1:37           ` Joe Perches
2022-01-21  1:37             ` Joe Perches
2022-01-21  1:37             ` [Nouveau] " Joe Perches
2022-01-21  1:37             ` Joe Perches
2022-01-21  1:37             ` [Intel-gfx] " Joe Perches
2022-01-19 20:43       ` Lucas De Marchi
2022-01-19 20:43         ` Lucas De Marchi
2022-01-19 20:43         ` [Nouveau] " Lucas De Marchi
2022-01-19 20:43         ` Lucas De Marchi
2022-01-19  7:24 ` [PATCH 2/3] lib/string_helpers: Add helpers for enable[d]/disable[d] Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Intel-gfx] " Lucas De Marchi
2022-01-19  9:20   ` Andy Shevchenko
2022-01-19  9:20     ` Andy Shevchenko
2022-01-19  9:20     ` [Nouveau] " Andy Shevchenko
2022-01-19  9:20     ` [Intel-gfx] " Andy Shevchenko
2022-01-19  9:42     ` Lucas De Marchi
2022-01-19  9:42       ` [Nouveau] " Lucas De Marchi
2022-01-19  9:42       ` Lucas De Marchi
2022-01-19  9:42       ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:24 ` [PATCH 3/3] drm: Convert open yes/no strings to yesno() Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Intel-gfx] " Lucas De Marchi
2022-01-19 19:30   ` Andy Shevchenko
2022-01-19 19:30     ` Andy Shevchenko
2022-01-19 19:30     ` [Nouveau] " Andy Shevchenko
2022-01-19 19:30     ` Andy Shevchenko
2022-01-19 19:30     ` [Intel-gfx] " Andy Shevchenko
2022-01-26  9:05     ` Lucas De Marchi
2022-01-26  9:05       ` [Nouveau] " Lucas De Marchi
2022-01-26  9:05       ` Lucas De Marchi
2022-01-26  9:05       ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:34 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for lib/string_helpers: Add a few string helpers Patchwork
2022-01-19  7:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-01-19  8:02 ` [PATCH 0/3] " Jani Nikula
2022-01-19  8:02   ` Jani Nikula
2022-01-19  8:02   ` [Nouveau] " Jani Nikula
2022-01-19  8:02   ` Jani Nikula
2022-01-19  8:02   ` [Intel-gfx] " Jani Nikula
2022-01-19  8:05 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2022-01-19  9:28 ` [PATCH 0/3] " Andy Shevchenko
2022-01-19  9:28   ` Andy Shevchenko
2022-01-19  9:28   ` [Nouveau] " Andy Shevchenko
2022-01-19  9:28   ` [Intel-gfx] " Andy Shevchenko
2022-01-19  9:39 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for " Patchwork
2022-01-19 13:18 ` [PATCH 0/3] " Petr Mladek
2022-01-19 13:18   ` Petr Mladek
2022-01-19 13:18   ` [Nouveau] " Petr Mladek
2022-01-19 13:18   ` Petr Mladek
2022-01-19 13:18   ` [Intel-gfx] " Petr Mladek
2022-01-19 14:16   ` Jani Nikula [this message]
2022-01-19 14:16     ` Jani Nikula
2022-01-19 14:16     ` [Nouveau] " Jani Nikula
2022-01-19 14:16     ` Jani Nikula
2022-01-19 14:16     ` [Intel-gfx] " Jani Nikula
2022-01-19 16:15     ` Daniel Vetter
2022-01-19 16:15       ` Daniel Vetter
2022-01-19 16:15       ` [Nouveau] " Daniel Vetter
2022-01-19 16:15       ` Daniel Vetter
2022-01-19 16:15       ` [Intel-gfx] " Daniel Vetter
2022-01-19 20:53       ` Lucas De Marchi
2022-01-19 20:53         ` [Nouveau] " Lucas De Marchi
2022-01-19 21:07         ` Andy Shevchenko
2022-01-19 21:07           ` Andy Shevchenko
2022-01-19 21:07           ` [Nouveau] " Andy Shevchenko
2022-01-19 21:07           ` Andy Shevchenko
2022-01-19 21:07           ` Andy Shevchenko
2022-01-20  8:38     ` Petr Mladek
2022-01-20  8:38       ` Petr Mladek
2022-01-20  8:38       ` [Nouveau] " Petr Mladek
2022-01-20  8:38       ` Petr Mladek
2022-01-20  8:38       ` [Intel-gfx] " Petr Mladek
2022-01-20  9:12       ` David Laight
2022-01-20  9:12         ` David Laight
2022-01-20  9:12         ` [Nouveau] " David Laight
2022-01-20  9:12         ` David Laight
2022-01-20  9:12         ` [Intel-gfx] " David Laight
2022-01-20  9:12       ` Jani Nikula
2022-01-20  9:12         ` Jani Nikula
2022-01-20  9:12         ` [Nouveau] " Jani Nikula
2022-01-20  9:12         ` Jani Nikula
2022-01-20  9:12         ` [Intel-gfx] " Jani Nikula
2022-01-20 10:45         ` Petr Mladek
2022-01-20 10:45           ` Petr Mladek
2022-01-20 10:45           ` [Nouveau] " Petr Mladek
2022-01-20 10:45           ` Petr Mladek
2022-01-20 10:45           ` [Intel-gfx] " Petr Mladek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tudzbykz.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=airlied@linux.ie \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bskeggs@redhat.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=christian.koenig@amd.com \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=eryk.brol@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=harry.wentland@amd.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=julia.lawall@lip6.fr \
    --cc=kuba@kernel.org \
    --cc=laniel_francis@privacyrequired.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=lucas.demarchi@intel.com \
    --cc=mikita.lipski@amd.com \
    --cc=netdev@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=pmladek@suse.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rajur@chelsio.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=sunpeng.li@amd.com \
    --cc=takedakn@nttdata.co.jp \
    --cc=vishal@chelsio.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.