lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 27 Jul 2022 18:07:16 +0200 From: Peter Zijlstra <peterz@...radead.org> To: Chengming Zhou <zhouchengming@...edance.com> Cc: hannes@...xchg.org, surenb@...gle.com, mingo@...hat.com, tj@...nel.org, corbet@....net, akpm@...ux-foundation.org, rdunlap@...radead.org, linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, songmuchun@...edance.com, cgroups@...r.kernel.org Subject: Re: [PATCH 9/9] sched/psi: add PSI_IRQ to track IRQ/SOFTIRQ pressure On Thu, Jul 21, 2022 at 12:04:39PM +0800, Chengming Zhou wrote: > diff --git a/include/linux/psi_types.h b/include/linux/psi_types.h > index c124f7d186d0..195f123b1cd1 100644 > --- a/include/linux/psi_types.h > +++ b/include/linux/psi_types.h > @@ -47,7 +47,8 @@ enum psi_res { > PSI_IO, > PSI_MEM, > PSI_CPU, > - NR_PSI_RESOURCES = 3, > + PSI_IRQ, > + NR_PSI_RESOURCES = 4, > }; > > /* > @@ -63,9 +64,11 @@ enum psi_states { > PSI_MEM_FULL, > PSI_CPU_SOME, > PSI_CPU_FULL, > + PSI_IRQ_SOME, > + PSI_IRQ_FULL, > /* Only per-CPU, to weigh the CPU in the global average: */ > PSI_NONIDLE, > - NR_PSI_STATES = 7, > + NR_PSI_STATES = 9, > }; > > enum psi_aggregators { $ pahole -EC psi_group_cpu defconfig-build/kernel/sched/build_utility.o struct psi_group_cpu { /* typedef seqcount_t */ struct seqcount { unsigned int sequence; /* 0 4 */ } seq __attribute__((__aligned__(64))); /* 0 4 */ unsigned int tasks[5]; /* 4 20 */ /* typedef u32 -> __u32 */ unsigned int state_mask; /* 24 4 */ /* typedef u32 -> __u32 */ unsigned int times[7]; /* 28 28 */ /* typedef u64 -> __u64 */ long long unsigned int state_start; /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* typedef u32 -> __u32 */ unsigned int times_prev[2][7] __attribute__((__aligned__(64))); /* 64 56 */ /* size: 128, cachelines: 2, members: 6 */ /* padding: 8 */ /* forced alignments: 2 */ } __attribute__((__aligned__(64))); $ pahole -EC psi_group_cpu defconfig-build/kernel/sched/build_utility.o struct psi_group_cpu { /* typedef seqcount_t */ struct seqcount { unsigned int sequence; /* 0 4 */ } seq __attribute__((__aligned__(64))); /* 0 4 */ unsigned int tasks[5]; /* 4 20 */ /* typedef u32 -> __u32 */ unsigned int state_mask; /* 24 4 */ /* typedef u32 -> __u32 */ unsigned int times[9]; /* 28 36 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* typedef u64 -> __u64 */ long long unsigned int state_start; /* 64 8 */ /* XXX 56 bytes hole, try to pack */ /* --- cacheline 2 boundary (128 bytes) --- */ /* typedef u32 -> __u32 */ unsigned int times_prev[2][9] __attribute__((__aligned__(64))); /* 128 72 */ /* size: 256, cachelines: 4, members: 6 */ /* sum members: 144, holes: 1, sum holes: 56 */ /* padding: 56 */ /* forced alignments: 2, forced holes: 1, sum forced holes: 56 */ } __attribute__((__aligned__(64))); So yeah, I think not.
Powered by blists - more mailing lists