Page MenuHomeFreeBSD

olce (Olivier Certner)
User

Projects

User Details

User Since
Feb 26 2021, 3:47 PM (262 w, 5 d)

Recent Activity

Mon, Mar 9

olce added a comment to D55628: hwpstate_intel: Use ipi instead of thread_lock + sched_bind.

Some minor stuff to change.

Mon, Mar 9, 3:28 PM
olce requested changes to D55606: hwpstate_amd: Expose node as much as possible.

Changes themselves look good, except for one mistake (wrong MSR).

Mon, Mar 9, 9:34 AM
olce requested changes to D55604: hwpstate_amd: Refactor by brancless version.

Some small changes to do. Main point is to preserve sysctl_cppc_dump_handler()'s goal which is to always query the hardware (and thus never rely on cached values).

Mon, Mar 9, 8:59 AM

Fri, Mar 6

olce added a comment to D54097: kern: don't require pp/tdp for all values of `which`.

Fine with the idea and approach. Missing are MPASS() on setp in the CPU_WHICH_CPUSET and CPU_WHICH_JAIL cases though.

Fri, Mar 6, 6:26 PM
olce added inline comments to D52885: style.9: Encourage style changes when doing significant modifications.
Fri, Mar 6, 5:22 PM
olce committed rG815fdbd497ff: iwx: Re-activate the 32-bit boundary cross check on 64-bit architectures (authored by olce).
iwx: Re-activate the 32-bit boundary cross check on 64-bit architectures
Fri, Mar 6, 5:21 PM
olce committed rGaf2c7d9f6452: style.9: Encourage style changes when doing significant modifications (authored by olce).
style.9: Encourage style changes when doing significant modifications
Fri, Mar 6, 5:16 PM
olce committed rGc1567d49a832: iwx: Re-activate the 32-bit boundary cross check on 64-bit architectures (authored by olce).
iwx: Re-activate the 32-bit boundary cross check on 64-bit architectures
Fri, Mar 6, 5:16 PM
olce closed D52885: style.9: Encourage style changes when doing significant modifications.
Fri, Mar 6, 5:16 PM

Thu, Mar 5

olce committed rGb4269beda1b1: iwx: Fix 32-bit compilation (authored by olce).
iwx: Fix 32-bit compilation
Thu, Mar 5, 10:06 PM
olce committed rG35da55c28dbb: iwx: Fix 32-bit compilation (authored by olce).
iwx: Fix 32-bit compilation
Thu, Mar 5, 8:42 PM
olce closed D55667: iwx: Fix 32-bit compilation.
Thu, Mar 5, 8:41 PM
olce accepted D55601: kern: vfs: add MAC checks for mount/unmount/update.
Thu, Mar 5, 2:58 PM
olce committed rGf4f418bbf8fb: vm_page.h: Materialize a spare bit (authored by olce).
vm_page.h: Materialize a spare bit
Thu, Mar 5, 2:45 PM
olce committed rG1e0de6ef6334: sys/compat/freebsd32: Fix i386 compilation (authored by olce).
sys/compat/freebsd32: Fix i386 compilation
Thu, Mar 5, 2:45 PM
olce committed rG5a334f0455db: sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32' (authored by olce).
sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32'
Thu, Mar 5, 2:45 PM
olce committed rGe16f1bf3baa1: asmc(4): pull 32-bit support for the driver (authored by ngie).
asmc(4): pull 32-bit support for the driver
Thu, Mar 5, 2:45 PM
olce committed rG069553bf5c0f: sys/sysctl.h: Add missing <sys/kassert.h> include (authored by olce).
sys/sysctl.h: Add missing <sys/kassert.h> include
Thu, Mar 5, 2:45 PM
olce committed rG71a1b16a3a82: sys: ELF: Rename SHN_FBSD_CACHED => SHN_FREEBSD_CACHED (authored by olce).
sys: ELF: Rename SHN_FBSD_CACHED => SHN_FREEBSD_CACHED
Thu, Mar 5, 2:45 PM
olce committed rG16de2cf81f75: kernel dump: dumpsys_gen_pa_next(): Fix "no more chunks" condition detection (authored by olce).
kernel dump: dumpsys_gen_pa_next(): Fix "no more chunks" condition detection
Thu, Mar 5, 2:45 PM
olce committed rG9a0a35916ab0: hwpstate{_amd,intel}(4): Move common knobs to a separate file (authored by olce).
hwpstate{_amd,intel}(4): Move common knobs to a separate file
Thu, Mar 5, 2:45 PM
olce committed rGa6e1727fb8ac: sys/sysctl.h: Make it self-contained when included from the kernel (authored by olce).
sys/sysctl.h: Make it self-contained when included from the kernel
Thu, Mar 5, 2:44 PM
olce committed rG2ea9c6997ec9: endian.h: Visibility comment: Fix grammar, a typo and punctuation (authored by olce).
endian.h: Visibility comment: Fix grammar, a typo and punctuation
Thu, Mar 5, 2:44 PM
olce committed rG2efc7bfbc251: i386 minidump: Remove unused macros (authored by olce).
i386 minidump: Remove unused macros
Thu, Mar 5, 2:44 PM
olce committed rG1739bb967444: sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES (authored by olce).
sys: vt_efifb: EFI not supported on i386; move it back to amd64/NOTES
Thu, Mar 5, 2:44 PM
olce committed rG38863c7e55f7: i386: Fix kernel compilation after introduction of ASMC_DEBUG option (authored by olce).
i386: Fix kernel compilation after introduction of ASMC_DEBUG option
Thu, Mar 5, 2:44 PM
olce added a comment to D55667: iwx: Fix 32-bit compilation.

(Alternative: Don't compile this on 32-bit architectures at all, if if_iwx in reality does not support those.)

Thu, Mar 5, 1:05 PM
olce requested review of D55667: iwx: Fix 32-bit compilation.
Thu, Mar 5, 1:04 PM
olce added inline comments to D54410: acpi: Implement s2idle loop.
Thu, Mar 5, 1:02 PM

Wed, Mar 4

olce accepted D48721: amdsmu: Sleep entry/exit hints for PMFW.
Wed, Mar 4, 3:27 PM
olce added a comment to D48721: amdsmu: Sleep entry/exit hints for PMFW.

Looks good (some minor remarks in inline comments).

Wed, Mar 4, 2:26 PM
olce accepted D55508: power: Power device and ioctl for state transitions.

Overall looks good, but I have some remarks/questions given that that change now exposes the POWER_SSTATE_TRANSITION_* constants to userland.

  1. I think we should consider renaming these constants, perhaps doing something as radical as POWER_SSTATE_TRANSITION_* => POWER_*, or perhaps keeping STATE (instead of SSTATE), before they are made publicly available (after which, we will have to provide them (almost) indefinitely).
  2. Is this the granularity we want to expose? I'm OK with what is available right now, and we can later add more to that list in order to allow requesting *precise* states (i.e., not rely on the value of the power_*_stype variables to know which internal state we will finally go into). But just wanted to hear your thoughts.
Wed, Mar 4, 10:47 AM

Tue, Mar 3

olce added a comment to D55477: hwpstate_amd: Support writable cpufreq interface in CPPC mode.

I hope you don't just mean having powerd influence the hardware control loop by tweaking the epp sysctl. That would lead to 2 control loops trying to govern the same thing, which often ends in chaos.

Tue, Mar 3, 8:59 PM
olce added a comment to D55604: hwpstate_amd: Refactor by brancless version.

Idea is great. Currently, however, this revision depends on D55477 (which is rejected), so it needs to be re-based to become independent.

Tue, Mar 3, 6:03 PM
olce added a comment to D55527: hwpstate_amd: Fix autonomous mode.

IOW, that would mean reopening PR 292615.

Tue, Mar 3, 1:33 PM
olce requested changes to D55527: hwpstate_amd: Fix autonomous mode.

Mmm, this change from D55253 is deliberate. Autonomous mode does not work on some AMD CPUs, where setting "desired performance" to 0 actually causes lowest performance to be selected. As long as we do not have a user-understandable way to choose a better default, such as PM profile in ACPI's FADT, let's do like all other CPU freq/power drivers do (except hwpstate_intel(4)) and select maximum performance. Let's revise this only as part of actually implementing one.

Tue, Mar 3, 1:29 PM
olce requested changes to D55477: hwpstate_amd: Support writable cpufreq interface in CPPC mode.

As said previously, I'm opposed to this approach. So we have to discuss (for other people, this discussion has started through other channels as well, but I'll try to keep this public revision updated as much as possible).

Tue, Mar 3, 10:56 AM
olce added inline comments to D55253: hwpstate_amd(4): CPPC: Switch the default to maximum performance.
Tue, Mar 3, 8:47 AM

Sat, Feb 21

olce added a comment to D55384: Scheduler and Mutex micro optimizations.

Being out-of-time (and off for the next week), I only reviewed changes to ULE, and the first one in this revision. But I'll also take a look at the rest when coming back.

Sat, Feb 21, 11:56 AM · Src Committers

Fri, Feb 20

olce committed rGf1b93fc50f01: hwpstate_amd(4): Fix punctuation in 'desired_performance' knob's description (authored by olce).
hwpstate_amd(4): Fix punctuation in 'desired_performance' knob's description
Fri, Feb 20, 10:14 AM
olce committed rG953b9164c3d9: cpufreq(4): cpufreq_levels_sysctl(): Remove always false NULL test (authored by olce).
cpufreq(4): cpufreq_levels_sysctl(): Remove always false NULL test
Fri, Feb 20, 10:14 AM
olce committed rG80d32a6b1d73: hwpstate_amd(4): CPPC: Switch the default to maximum performance (authored by olce).
hwpstate_amd(4): CPPC: Switch the default to maximum performance
Fri, Feb 20, 10:14 AM
olce committed rGb69a396de211: hwpstate_amd(4): CPPC: Allow attaching even if CAPABILITY_1 cannot be read (authored by olce).
hwpstate_amd(4): CPPC: Allow attaching even if CAPABILITY_1 cannot be read
Fri, Feb 20, 10:14 AM
olce committed rG7f36d7a9505a: hwpstate_amd(4): Consistency of cached CPPC_REQUEST value (authored by olce).
hwpstate_amd(4): Consistency of cached CPPC_REQUEST value
Fri, Feb 20, 10:13 AM
olce closed D55253: hwpstate_amd(4): CPPC: Switch the default to maximum performance.
Fri, Feb 20, 10:13 AM
olce closed D55252: hwpstate_amd(4): CPPC: Allow attaching even if CAPABILITY_1 cannot be read.
Fri, Feb 20, 10:13 AM
olce closed D55251: hwpstate_amd(4): Consistency of cached CPPC_REQUEST value.
Fri, Feb 20, 10:13 AM
olce added a comment to D55253: hwpstate_amd(4): CPPC: Switch the default to maximum performance.

Adding a task to the list above:

  • On resume, we need to re-program the CPPC_REQUEST MSR, else current settings do not apply anymore.
Fri, Feb 20, 9:45 AM

Thu, Feb 19

olce accepted D55377: sysctl: Avoid calling priv_check() unnecessarily.
Thu, Feb 19, 6:06 PM
olce accepted D55378: pipe: Avoid unnecessary priv_check() calls in pipespace_new().
Thu, Feb 19, 6:03 PM
olce committed rG0db846a9697e: asmc(4): Stop building it on i386, as it supports only 64-bit chipsets (authored by olce).
asmc(4): Stop building it on i386, as it supports only 64-bit chipsets
Thu, Feb 19, 12:30 PM
olce committed rG27b76413615a: sysctl(9): Booleans: Fix old value length discovery (authored by olce).
sysctl(9): Booleans: Fix old value length discovery
Thu, Feb 19, 12:30 PM
olce committed rG13f0aa2ad825: sysctl(9): Booleans: Accept integers to ease knob conversion (authored by olce).
sysctl(9): Booleans: Accept integers to ease knob conversion
Thu, Feb 19, 12:30 PM
olce committed rG6bc5a7cd9c4e: amd64: parse_memmap(): Move comment about size at proper place (authored by olce).
amd64: parse_memmap(): Move comment about size at proper place
Thu, Feb 19, 12:30 PM
olce committed rG9f48e72c350c: x86: x86_msr_op(): MSR_OP_LOCAL: Disable interrupts on atomic ops (authored by olce).
x86: x86_msr_op(): MSR_OP_LOCAL: Disable interrupts on atomic ops
Thu, Feb 19, 12:30 PM
olce committed rG314aeea9f688: x86: x86_msr_op(): Simplify assertions (authored by olce).
x86: x86_msr_op(): Simplify assertions
Thu, Feb 19, 12:30 PM
olce committed rG30f803f2898b: x86: x86_msr_op(): Move setting mode up, delineate logical blocks (authored by olce).
x86: x86_msr_op(): Move setting mode up, delineate logical blocks
Thu, Feb 19, 12:30 PM
olce committed rG1d9cd7040833: acpi: Use AcpiGbl_FACS even on ACPI_REDUCED_HARDWARE (authored by olce).
acpi: Use AcpiGbl_FACS even on ACPI_REDUCED_HARDWARE
Thu, Feb 19, 12:30 PM
olce committed rG97490a7b32e3: ahc(4): Fix a warning on i386 compilation (authored by olce).
ahc(4): Fix a warning on i386 compilation
Thu, Feb 19, 12:30 PM
olce committed rG6d6eca79f0d0: acpi: Use only AcpiGetSleepTypeData() to determine Sx support (authored by olce).
acpi: Use only AcpiGetSleepTypeData() to determine Sx support
Thu, Feb 19, 12:30 PM
olce committed rG4ba8eaf2336c: ps(1): Sort headers (authored by olce).
ps(1): Sort headers
Thu, Feb 19, 12:30 PM
olce committed rGbdf595fcea8e: exterrvar.h: style(9): Fix two small nits (authored by olce).
exterrvar.h: style(9): Fix two small nits
Thu, Feb 19, 12:30 PM
olce committed rGffdfca5982b6: acpi: Factor out the power off code into acpi_poweroff() (authored by olce).
acpi: Factor out the power off code into acpi_poweroff()
Thu, Feb 19, 10:30 AM
olce committed rG781c9b0a595f: acpi: Factor out message printing on failure of AcpiEnterSleepStatePrep() (authored by olce).
acpi: Factor out message printing on failure of AcpiEnterSleepStatePrep()
Thu, Feb 19, 10:30 AM
olce committed rGd18aaeff8fd3: vm_page.h: Materialize a spare bit (authored by olce).
vm_page.h: Materialize a spare bit
Thu, Feb 19, 10:30 AM
olce closed D55226: acpi: Factor out the power off code into acpi_poweroff().
Thu, Feb 19, 10:30 AM
olce closed D55225: acpi: Factor out message printing on failure of AcpiEnterSleepStatePrep().
Thu, Feb 19, 10:30 AM
olce added a comment to D55226: acpi: Factor out the power off code into acpi_poweroff().

Oh, that was unintended. Already fixed it locally but forgot to update the diff here.

Thu, Feb 19, 10:13 AM

Wed, Feb 18

olce accepted D55341: procctl(PROC_REAP_KILL): align error reporting with pgkill(2).
Wed, Feb 18, 3:54 PM
olce added inline comments to D55341: procctl(PROC_REAP_KILL): align error reporting with pgkill(2).
Wed, Feb 18, 12:34 PM

Mon, Feb 16

olce added inline comments to D55140: splash: add shutdown splash.
Mon, Feb 16, 1:40 PM
olce committed rG4ccca2100887: sys/abi_types.h: time32_t is 64-bit on non-x86 architectures (authored by olce).
sys/abi_types.h: time32_t is 64-bit on non-x86 architectures
Mon, Feb 16, 10:31 AM
olce closed D55283: sys/abi_types.h: time32_t is 64-bit on non-x86 architectures.
Mon, Feb 16, 10:30 AM
olce committed rG7c2fc4419db4: sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32' (authored by olce).
sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32'
Mon, Feb 16, 10:30 AM
olce closed D55282: sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32'.
Mon, Feb 16, 10:30 AM

Sat, Feb 14

olce added a comment to D55283: sys/abi_types.h: time32_t is 64-bit on non-x86 architectures.

Quoting part of my recent mail on src-committers@:

But since there are uses of 'freebsd32.h' unconditionally on all platforms (in 'kern_umtx.c' at least), and since we also check sizes of structures, I think we should at least ensure that 'struct foo32' on a 32-bit arch is type compatible with 'struct foo' on the same arch.

And I do not see that as unsustainable, on the contrary, it is very simple to achieve: Have all 'foo32' types boil down to exactly 'foo' on 32-bit architectures, which is what we are supposed to do already for structures by compat' design. 'freebsd32_uint64_t' you introduced typically supports that. That's the why of https://reviews.freebsd.org/D55283, which fixes commit 87632ddf67b0 ("openzfs sys/types32.h: use abi_compat.h for time32_t") where defining 'time32_t' to 'in32_t' for 32-bit architectures appears to have been an arbitrary choice of yours, which in practice by luck does not change the whole size of 'struct ffclock_estimate32' because 'struct bintime32''s one does not change either as even if its field 'sec' was incorrectly sized after you commit (this is what D55283 fixes), the 'frac' one is 64-bit and 64-bit aligned on all non-x86 architectures so its offset in 'struct bintime32' stays the same.

So, again, I think the rule of thumb should just be: Type 'foo32' is compatible with 'foo' on 32-bit architectures and has same alignment. That's the only thing that makes sense if 'struct *32' are visible on 32-bit architectures.

Sat, Feb 14, 9:54 AM

Fri, Feb 13

olce requested review of D55283: sys/abi_types.h: time32_t is 64-bit on non-x86 architectures.
Fri, Feb 13, 10:23 PM
olce requested review of D55282: sys/compat/freebsd32: FF clock struct: Don't pack, use 'ffcounter32'.
Fri, Feb 13, 10:23 PM
olce committed rG07c4eb506be4: sys/compat/freebsd32: Fix i386 compilation (authored by olce).
sys/compat/freebsd32: Fix i386 compilation
Fri, Feb 13, 10:22 PM
olce committed rG2ce028e8a265: sys: ELF: Rename SHN_FBSD_CACHED => SHN_FREEBSD_CACHED (authored by olce).
sys: ELF: Rename SHN_FBSD_CACHED => SHN_FREEBSD_CACHED
Fri, Feb 13, 10:22 PM
olce closed D55224: sys: ELF: Rename SHN_FBSD_CACHED => SHN_FREEBSD_CACHED.
Fri, Feb 13, 10:22 PM

Thu, Feb 12

olce added inline comments to D55045: x86: add a safe variant of MSR_OP_SCHED* operations.
Thu, Feb 12, 3:34 PM
olce added inline comments to D55045: x86: add a safe variant of MSR_OP_SCHED* operations.
Thu, Feb 12, 3:33 PM
olce added a comment to D55045: x86: add a safe variant of MSR_OP_SCHED* operations.
In D55045#1263800, @kib wrote:

I prefer to expose one function. There is no harm from returning unused value.

Thu, Feb 12, 3:26 PM
olce accepted D55045: x86: add a safe variant of MSR_OP_SCHED* operations.
Thu, Feb 12, 3:16 PM
olce added a comment to D55045: x86: add a safe variant of MSR_OP_SCHED* operations.

I'm not even sure about that now. Binding on each CPU will cause a thread switch, which disables interrupts, and we'll have two of these per core (one for switch-in and one for switch-out), which in terms of duration of disabled interrupts may well prove longer than just the rendez-vous IPI and the small payload of handling the MSR, perhaps even for MSRs that are long to operate on.

Yes, this is the point I was trying to make.

Thu, Feb 12, 3:04 PM

Wed, Feb 11

olce added a comment to D55253: hwpstate_amd(4): CPPC: Switch the default to maximum performance.

Let me explain the context for this, so that we can discuss if this is the best solution or if we should find something else, both short term and longer term.

Wed, Feb 11, 9:47 PM
olce updated subscribers of D55253: hwpstate_amd(4): CPPC: Switch the default to maximum performance.
Wed, Feb 11, 9:03 PM
olce updated subscribers of D55251: hwpstate_amd(4): Consistency of cached CPPC_REQUEST value.
Wed, Feb 11, 9:03 PM
olce updated subscribers of D55252: hwpstate_amd(4): CPPC: Allow attaching even if CAPABILITY_1 cannot be read.
Wed, Feb 11, 9:03 PM
olce requested review of D55252: hwpstate_amd(4): CPPC: Allow attaching even if CAPABILITY_1 cannot be read.
Wed, Feb 11, 8:51 PM
olce requested review of D55253: hwpstate_amd(4): CPPC: Switch the default to maximum performance.
Wed, Feb 11, 8:51 PM
olce requested review of D55251: hwpstate_amd(4): Consistency of cached CPPC_REQUEST value.
Wed, Feb 11, 8:51 PM
olce added a comment to D55009: hwpstate_amd(4): 'epp' sysctl leaf to operate on real EPP hardware values.

LGTM for me but I think we should merge the intel's one at the same time.

Wed, Feb 11, 8:45 PM
olce committed rG2b728d3bbfbc: hwpstate_amd(4): Move 'struct get_cppc_regs_data' & co. closer to use (authored by olce).
hwpstate_amd(4): Move 'struct get_cppc_regs_data' & co. closer to use
Wed, Feb 11, 8:45 PM
olce committed rGebcd80f76ed1: hwpstate_amd(4): Rename PSTATE_CPPC internal flag (authored by olce).
hwpstate_amd(4): Rename PSTATE_CPPC internal flag
Wed, Feb 11, 8:44 PM
olce committed rGc6a0eb7ada62: hwpstate_amd(4): Rename '*set_autonomous_hwp*()' => 'enable_cppc*()' (authored by olce).
hwpstate_amd(4): Rename '*set_autonomous_hwp*()' => 'enable_cppc*()'
Wed, Feb 11, 8:44 PM
olce committed rG4285340c604a: hwpstate_amd(4): Style: Align 'machdep.hwpstate_amd_cppc_enable' (authored by olce).
hwpstate_amd(4): Style: Align 'machdep.hwpstate_amd_cppc_enable'
Wed, Feb 11, 8:44 PM
olce committed rGcec0ab05866e: hwpstate_amd(4): Style: Sort headers (authored by olce).
hwpstate_amd(4): Style: Sort headers
Wed, Feb 11, 8:44 PM
olce committed rGa78e7c22c5d7: hwpstate_amd(4): Update copyright (authored by olce).
hwpstate_amd(4): Update copyright
Wed, Feb 11, 8:44 PM