All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Petri Latvala <petri.latvala@intel.com>
Cc: IGT GPU Tools <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [PATCH i-g-t 09/93] lib: Add an intel_ctx wrapper struct and helpers (v4)
Date: Thu, 10 Jun 2021 02:05:31 -0700	[thread overview]
Message-ID: <874ke6nl7o.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <YMHJ8d6NjFdC9up+@platvala-desk.ger.corp.intel.com>

On Thu, 10 Jun 2021 01:14:41 -0700, Petri Latvala wrote:
> On Wed, Jun 09, 2021 at 09:41:14AM -0500, Jason Ekstrand wrote:
> > On Wed, Jun 9, 2021 at 1:27 AM Petri Latvala <petri.latvala@intel.com> wrote:
> > >
> > > On Tue, Jun 08, 2021 at 10:30:02PM -0700, Dixit, Ashutosh wrote:
> > > > On Tue, 08 Jun 2021 21:29:55 -0700, Jason Ekstrand wrote:
> > > > > diff --git a/lib/intel_ctx.h b/lib/intel_ctx.h
> > > > > new file mode 100644
> > > > > index 00000000..79bc1154
> > > > > --- /dev/null
> > > > > +++ b/lib/intel_ctx.h
> > > > > @@ -0,0 +1,75 @@
> > > >
> > > > /snip/
> > > >
> > > > > +/**
> > > > > + * intel_ctx_cfg_t:
> > > > > + * @flags: Context create flags
> > > > > + * @vm: VM to inherit or 0 for using a per-context VM
> > > > > + * @num_engines: Number of client-specified engines or 0 for legacy mode
> > > > > + * @engines: Client-specified engines
> > > > > + *
> > > > > + * Represents the full configuration of an intel_ctx.
> > > > > + */
> > > > > +typedef struct intel_ctx_cfg {
> > > > > +   uint32_t flags;
> > > > > +   uint32_t vm;
> > > > > +   unsigned int num_engines;
> > > > > +   struct i915_engine_class_instance engines[GEM_MAX_ENGINES];
> > > > > +} intel_ctx_cfg_t;
> > > > > +
> > > > > +intel_ctx_cfg_t intel_ctx_cfg_for_engine(unsigned int class, unsigned int inst);
> > > > > +intel_ctx_cfg_t intel_ctx_cfg_all_physical(int fd);
> > > > > +
> > > > > +/**
> > > > > + * intel_ctx_t:
> > > > > + * @id: the context id/handle
> > > > > + * @cfg: the config used to create this context
> > > > > + *
> > > > > + * Represents the full configuration of an intel_ctx.
> > > > > + */
> > > > > +typedef struct intel_ctx {
> > > > > +   uint32_t id;
> > > > > +   intel_ctx_cfg_t cfg;
> > > > > +} intel_ctx_t;
> > > >
> > > > Just a comment about cosmetics. I am ok either way but I believe in the
> > > > linux kernel (and in IGT which follows the kernel coding style) such
> > > > typedefs are supposedly only to be used for "opaque" types and are
> > > > generally avoided. E.g.
> > > >
> > > > https://yarchive.net/comp/linux/typedefs.html
> > > >
> > > > There are not very many instances of such typedef's in IGT, certainly not
> > > > those which are this widely used.
> > > >
> > > > I copying Petri about this to see what he prefers, whether we should keep
> > > > these typedefs or replace intel_ctx_cfg_t and intel_ctx_t with 'struct
> > > > intel_ctx_cfg' and 'struct intel_ctx'.
> > >
> > > I have no hard preferences for this. Mostly it's a question of what
> > > makes the most sense to the author, and whether gtk-doc eats it
> > > without choking.
> >
> > I did typedefs partly for less typing and partly because gtk-doc
> > didn't like me when I was doing struct intel_ctx_cfg
>
> Ah yes, now I remember. gtk-doc indeed likes code more when going in
> that direction.
>
> For those following along at home, never try having "union foobar" as
> a function return type with gtk-doc...

I'd say gtk-doc needs to be fixed, it's terrible to have to break
recommended coding style to keep gtk-doc happy. E.g. these typdefs are
checkpatch warnings :/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2021-06-10  9:05 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-09  4:29 [igt-dev] [PATCH i-g-t 00/93] Stop depending on context mutation (v4) Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 01/93] tests/i915: Drop gem_ctx_ringsize Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 02/93] tests/i915/gem_exec_balancer: Drop the ringsize subtest Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 03/93] tests/i915/gem_exec_endless: Stop setting the ring size Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 04/93] tests/i915/gem_ctx_param: Drop the zeromap subtests Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 05/93] tests/i915: Drop gem_ctx_clone Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 06/93] docs: Add gem_engine_topology.h to the docs Jason Ekstrand
2021-06-09  5:39   ` Zbigniew Kempczyński
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 07/93] lib/i915/gem_engine_topology: Expose the __query_engines helper (v2) Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 08/93] lib/i915/gem_context: Add gem_context_create_ext helpers Jason Ekstrand
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 09/93] lib: Add an intel_ctx wrapper struct and helpers (v4) Jason Ekstrand
2021-06-09  5:30   ` Dixit, Ashutosh
2021-06-09  6:28     ` Petri Latvala
2021-06-09 14:41       ` Jason Ekstrand
2021-06-10  8:14         ` Petri Latvala
2021-06-10  9:05           ` Dixit, Ashutosh [this message]
2021-06-09  6:01   ` Zbigniew Kempczyński
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 10/93] lib/i915/gem_engine_topology: Rework query_engine_list() Jason Ekstrand
2021-06-09  6:02   ` Zbigniew Kempczyński
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 11/93] lib/i915/gem_engine_topology: Factor out static engine listing Jason Ekstrand
2021-06-09  6:14   ` Zbigniew Kempczyński
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 12/93] lib/i915/gem_engine_topology: Add an iterator which doesn't munge contexts (v2) Jason Ekstrand
2021-06-09  6:19   ` Zbigniew Kempczyński
2021-06-09  4:29 ` [igt-dev] [PATCH i-g-t 13/93] lib/i915/gem_engine_topology: Add an iterator for intel_ctx_t (v2) Jason Ekstrand
2021-06-09  6:20   ` Zbigniew Kempczyński
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 14/93] tests/i915/gem_exec_basic: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  6:24   ` Zbigniew Kempczyński
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 15/93] lib/dummyload: Better document igt_spin_factory Jason Ekstrand
2021-06-09  6:24   ` Zbigniew Kempczyński
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 16/93] lib/dummyload: Rename igt_spin_factory::ctx to ctx_id Jason Ekstrand
2021-06-09  6:32   ` Zbigniew Kempczyński
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 17/93] lib/dummyload: Support intel_ctx_t Jason Ekstrand
2021-06-09  6:33   ` Zbigniew Kempczyński
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 18/93] tests/i915/gem_exec_fence: Move the engine data into inter_engine_context Jason Ekstrand
2021-06-09  7:18   ` Zbigniew Kempczyński
2021-06-09 15:02     ` Jason Ekstrand
2021-06-11 21:28       ` Dixit, Ashutosh
2021-06-14  5:34         ` Zbigniew Kempczyński
2021-06-14 15:04           ` Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 19/93] tests/i915/gem_exec_fence: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 20/93] tests/i915/gem_exec_schedule: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 21/93] tests/i915/perf_pmu: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 22/93] tests/i915/gem_exec_nop: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 23/93] tests/i915/gem_exec_reloc: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 24/93] tests/i915/gem_busy: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 25/93] tests/i915/gem_ctx_isolation: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 26/93] tests/i915/gem_exec_async: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 27/93] tests/i915/sysfs_clients: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 28/93] tests/i915/gem_exec_fair: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 29/93] tests/i915/gem_spin_batch: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 30/93] tests/i915/gem_exec_store: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 31/93] tests/amdgpu/amd_prime: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 32/93] tests/i915/i915_hangman: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 33/93] tests/i915/gem_ringfill: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 34/93] tests/prime_busy: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 35/93] tests/prime_vgem: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 36/93] tests/gem_exec_whisper: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 37/93] tests/i915/gem_ctx_exec: Stop cloning contexts in close_race Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 38/93] tests/i915/gem_ctx_exec: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 39/93] tests/i915/gem_exec_suspend: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 40/93] tests/i915/gem_sync: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 41/93] tests/i915/gem_userptr_blits: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 42/93] tests/i915/gem_wait: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 43/93] tests/i915/gem_request_retire: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 44/93] tests/i915/gem_ctx_shared: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 45/93] tests/i915/gem_ctx_shared: Stop cloning contexts Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 46/93] tests/i915/gem_create: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 47/93] tests/i915/gem_ctx_switch: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 48/93] tests/i915/gem_exec_parallel: " Jason Ekstrand
2021-06-09  4:30 ` [igt-dev] [PATCH i-g-t 49/93] tests/i915/gem_exec_latency: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 50/93] tests/i915/gem_watchdog: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 51/93] tests/i915/gem_shrink: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 52/93] tests/i915/gem_exec_params: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 53/93] tests/i915/gem_exec_gttfill: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 54/93] tests/i915/gem_exec_capture: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 55/93] tests/i915/gem_exec_create: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 56/93] tests/i915/gem_exec_await: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 57/93] tests/i915/gem_ctx_persistence: Drop the clone subtest Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 58/93] tests/i915/gem_ctx_persistence: Drop the engine replace subtests Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 59/93] tests/i915/gem_ctx_persistence: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 60/93] tests/i915/module_load: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 61/93] tests/i915/pm_rc6_residency: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 62/93] tests/i915/gem_cs_tlb: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 63/93] tests/core_hotplug: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 64/93] tests/i915/gem_exec_balancer: Stop cloning engines Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 65/93] tests/i915/gem_exec_balancer: Don't reset engines on a context Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 66/93] tests/i915/gem_exec_balancer: Stop munging ctx0 engines Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 67/93] tests/i915/gem_exec_balancer: Drop bonded tests Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 68/93] lib/intel_ctx: Add load balancing support Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 69/93] tests/i915/gem_exec_balancer: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 70/93] tests/i915/gem_exec_endless: Stop munging ctx0 engines Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 71/93] lib/i915: Use for_each_physical_ring for submission tests Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 72/93] tests/i915/gem_ctx_engines: Rework execute-one* Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 73/93] tests/i915/gem_ctx_engines: Use better engine iteration Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 74/93] tests/i915/gem_ctx_engines: Drop the idempotent subtest Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 75/93] tests/i915/gem_ctx_create: Convert benchmarks to intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 76/93] tests/i915/gem_vm_create: Delete destroy racing tests Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 77/93] tests/i915/gem_vm_create: Use intel_ctx_t in the execbuf test Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 78/93] tests/i915/sysfs: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 79/93] tests/i915/gem_workarounds: " Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 80/93] lib/i915/gem_context: Delete all the context clone/copy stuff Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 81/93] tests/i915/gem_ctx_engines: Delete the libapi subtest Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 82/93] lib/igt_dummyload: Stop supporting ALL_ENGINES without an intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 83/93] lib/i915/gem_engine_topology: Delete the old physical engine iterators Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 84/93] tests/i915/gem_mmap_gtt: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 85/93] igt/dummyload: Require an intel_ctx_t for POLL_RUN and !ALL_ENGINES Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 86/93] lib/i915: Rework engine API availability checks (v2) Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 87/93] lib/intel_bb: Remove intel_bb_assign_vm and tests Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 88/93] tests/i915/gem_ctx_param: Stop setting VMs on old contexts Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 89/93] tests/i915/gen9_exec_parse: Convert to intel_ctx_t Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 90/93] tests/i915/gem_ctx_param: Add tests for recently removed params Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 91/93] tests/i915/gem_ctx_param: Add a couple invalid PARAM_VM cases Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 92/93] tests/i915/gem_ctx_engines: Add more invalid SET_CONTEXT_PARAM cases Jason Ekstrand
2021-06-09  4:32 ` [igt-dev] [PATCH i-g-t 93/93] tests/i915/gem_exec_balancer: Add a test for combind balancing and bonding Jason Ekstrand
2021-06-09  5:13 ` [igt-dev] ✓ Fi.CI.BAT: success for Stop depending on context mutation (rev5) Patchwork
2021-06-09  6:13 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

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=874ke6nl7o.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=petri.latvala@intel.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.