STRUCT PARALLEL_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, this page is from the Kernel API Manual, and it's all about struct parallel_data(9). She is the internal control structure that covers literally everything that depends on the cpumask in use. periodt. 🫢

✨ SYNOPSIS ✨

       struct parallel_data {
           struct padata_shell             *ps;
           struct padata_list              __percpu *reorder_list;
           struct padata_serial_queue      __percpu *squeue;
           refcount_t refcnt;
           unsigned int                    seq_nr;
           unsigned int                    processed;
           int cpu;
           struct padata_cpumask           cpumask;
        };

🧚 Members 🧚

  • ps β€” the padata_shell object. iconic little pointer behavior πŸ’…
  • reorder_list β€” percpu reorder lists. yes bestie, per-CPU lists, no cap πŸ¦‹
  • squeue β€” percpu padata queues used for serialuzation. and yes, serialuzation is exactly how it's spelled here, iykyk 😭
  • refcnt β€” Number of objects holding a reference on this parallel_data. refcount realness, periodt.
  • seq_nr β€” Sequence number of the parallelized data object. she's keeping the sequence cute and numbered ✨
  • processed β€” Number of already processed objects. literally counting what's done πŸŽ€
  • cpu β€” Next CPU to be processed. main character CPU energy πŸ‘‘
  • cpumask β€” The cpumasks in use for parallel and serial workers. the whole vibe check depends on this 🌈

🌸 SEE ALSO 🌸

Kernel file ./include/linux/padata.h is serving the whole friend group:

  • struct padata_priv(9)
  • struct padata_list(9)
  • struct padata_serial_queue(9)
  • struct padata_cpumask(9)
  • struct padata_shell(9)
  • struct padata_mt_job(9)
  • struct padata_instance(9)

mwah πŸ’‹ β€” source/path ./include/linux, date October 2026, and the star of the page is struct parallel_data(9). byeee bestie πŸŽ€βœ¨

πŸ“¦ where this page comes from