All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Jim Cromie" <jim.cromie@gmail.com>
Cc: linux-modules@vger.kernel.org
Subject: Re: [PATCH v4 18/25] dyndbg: Upgrade class param storage to u64 for 64-bit classmaps
Date: Tue, 02 Jun 2026 23:04:23 +0000	[thread overview]
Message-ID: <20260602230424.61F0C1F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260602-dd-maint-2-v4-18-19a1445585a8@gmail.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Incomplete 64-bit conversion in `drm_debug_enabled_raw()` prevents checking categories >= 32 on 32-bit architectures.
--

commit 9ed1108f13f83f85b038d937d383fae3b647f69a
Author: Jim Cromie <jim.cromie@gmail.com>

dyndbg: Upgrade class param storage to u64 for 64-bit classmaps
    
This commit upgrades the dynamic debug class parameter storage to u64 to
support 64-bit classmaps without truncation on 32-bit architectures. It also
updates __drm_debug to use u64.

> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index ab017b05e1751..21a0ced0b2f20 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -39,7 +39,7 @@ struct drm_device;
>  struct seq_file;
>  
>  /* Do *not* use outside of drm_print.[ch]! */
> -extern unsigned long __drm_debug;
> +extern u64 __drm_debug;

[Severity: Low]
With __drm_debug upgraded to u64, does drm_debug_enabled_raw() also need
to be updated to use BIT_ULL() instead of BIT()?

Currently it evaluates using BIT():

static inline bool drm_debug_enabled_raw(enum drm_debug_category category)
{
	return unlikely(__drm_debug & BIT(category));
}

On 32-bit architectures, BIT() evaluates to a 32-bit unsigned long. While
this might not cause issues right now with the current number of debug
categories, it limits the 64-bit conversion and prevents checking categories
>= 32 since the bitwise operation would evaluate as 32-bit before the check
against __drm_debug.

Since the commit message notes "further changes to drm later", is this
already planned for a follow-up patch?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260602-dd-maint-2-v4-0-19a1445585a8@gmail.com?part=18

  reply	other threads:[~2026-06-02 23:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-02 22:47 [PATCH v4 00/25] dynamic-debug cleanups refactors maintenance + alignment fix Jim Cromie
2026-06-02 22:47 ` [PATCH v4 01/25] docs/dyndbg: update examples \012 to \n Jim Cromie
2026-06-02 22:47 ` [PATCH v4 02/25] docs/dyndbg: explain flags parse 1st Jim Cromie
2026-06-02 22:48 ` [PATCH v4 03/25] vmlinux.lds.h: refactor BOUNDED_SECTION_* macros into bounded_sections.lds.h Jim Cromie
2026-06-02 22:48 ` [PATCH v4 04/25] vmlinux.lds.h: drop unused HEADERED_SECTION* macros Jim Cromie
2026-06-02 22:48 ` [PATCH v4 05/25] vmlinux.lds.h: Fix ALIGN(8) omission causing NULL ptr on i386 Jim Cromie
2026-06-02 22:48 ` [PATCH v4 06/25] vmlinux.lds.h: remove redundant ALIGN(8) directives Jim Cromie
2026-06-02 22:48 ` [PATCH v4 07/25] dyndbg.lds.S: fix lost dyndbg sections in modules Jim Cromie
2026-06-02 22:48 ` [PATCH v4 08/25] dyndbg: factor ddebug_match_desc out from ddebug_change Jim Cromie
2026-06-02 22:48 ` [PATCH v4 09/25] dyndbg: add stub macro for DECLARE_DYNDBG_CLASSMAP Jim Cromie
2026-06-02 22:48 ` [PATCH v4 10/25] dyndbg: reword "class unknown," to "class:_UNKNOWN_" Jim Cromie
2026-06-02 22:48 ` [PATCH v4 11/25] dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code Jim Cromie
2026-06-02 23:00   ` sashiko-bot
2026-06-02 22:48 ` [PATCH v4 12/25] dyndbg: drop NUM_TYPE_ARGS Jim Cromie
2026-06-02 22:57   ` sashiko-bot
2026-06-02 22:48 ` [PATCH v4 13/25] dyndbg: reduce verbose/debug clutter Jim Cromie
2026-06-02 22:48 ` [PATCH v4 14/25] dyndbg: refactor param_set_dyndbg_classes and below Jim Cromie
2026-06-02 22:48 ` [PATCH v4 15/25] dyndbg: tighten fn-sig of ddebug_apply_class_bitmap Jim Cromie
2026-06-02 22:48 ` [PATCH v4 16/25] dyndbg: replace classmap list with an array-slice Jim Cromie
2026-06-02 23:01   ` sashiko-bot
2026-06-02 22:48 ` [PATCH v4 17/25] dyndbg: macrofy a 2-index for-loop pattern Jim Cromie
2026-06-02 22:48 ` [PATCH v4 18/25] dyndbg: Upgrade class param storage to u64 for 64-bit classmaps Jim Cromie
2026-06-02 23:04   ` sashiko-bot [this message]
2026-06-02 22:48 ` [PATCH v4 19/25] dyndbg,module: make proper substructs in _ddebug_info Jim Cromie
2026-06-02 22:48 ` [PATCH v4 20/25] dyndbg: move mod_name down from struct ddebug_table to _ddebug_info Jim Cromie
2026-06-02 22:48 ` [PATCH v4 21/25] dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module Jim Cromie
2026-06-02 22:48 ` [PATCH v4 22/25] selftests-dyndbg: add a dynamic_debug run_tests target Jim Cromie
2026-06-02 23:01   ` sashiko-bot
2026-06-02 22:48 ` [PATCH v4 23/25] dyndbg: change __dynamic_func_call_cls* macros into expressions Jim Cromie
2026-06-02 22:48 ` [PATCH v4 24/25] lib/parser: add match_wildcard_hyphen() for agnostic matching Jim Cromie
2026-06-02 22:48 ` [PATCH v4 25/25] dynamic_debug: use KBUILD_MODFILE for unique builtin module names Jim Cromie

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=20260602230424.61F0C1F00893@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=jim.cromie@gmail.com \
    --cc=linux-modules@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.