Re: [PATCH -next v3 1/3] lib/string_choices: Add str_true_false()/str_false_true() helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2024/8/28 7:42, Andrew Morton wrote:
On Tue, 27 Aug 2024 10:45:15 +0800 Hongbo Li <lihongbo22@xxxxxxxxxx> wrote:

Add str_true_false()/str_false_true() helper to return "true" or
"false" string literal.

...

--- a/include/linux/string_choices.h
+++ b/include/linux/string_choices.h
@@ -48,6 +48,12 @@ static inline const char *str_up_down(bool v)
  }
  #define str_down_up(v)		str_up_down(!(v))
+static inline const char *str_true_false(bool v)
+{
+	return v ? "true" : "false";
+}
+#define str_false_true(v)		str_true_false(!(v))
+
  /**
   * str_plural - Return the simple pluralization based on English counts
   * @num: Number used for deciding pluralization

This might result in copies of the strings "true" and "false" being
generated for every .c file which uses this function, resulting in
unnecessary bloat.

It's possible that the compiler/linker can eliminate this duplication.
If not, I suggest that every function in string_choices.h be uninlined.
The inline function is in header file, it will cause code expansion. It should avoid the the copies of the strings.

Thanks,
Hongbo




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux