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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 11 Jan 2024 12:34:57 +0100
From: Peter Hilber <peter.hilber@...nsynergy.com>
To: Simon Horman <horms@...nel.org>
Cc: linux-kernel@...r.kernel.org,
 "D, Lakshmi Sowjanya" <lakshmi.sowjanya.d@...el.com>,
 Thomas Gleixner <tglx@...utronix.de>, jstultz@...gle.com,
 giometti@...eenne.com, corbet@....net, andriy.shevchenko@...ux.intel.com,
 "Dong, Eddie" <eddie.dong@...el.com>,
 "Hall, Christopher S" <christopher.s.hall@...el.com>,
 Sean Christopherson <seanjc@...gle.com>, Paolo Bonzini
 <pbonzini@...hat.com>, Ingo Molnar <mingo@...hat.com>,
 Borislav Petkov <bp@...en8.de>, Dave Hansen <dave.hansen@...ux.intel.com>,
 x86@...nel.org, "H. Peter Anvin" <hpa@...or.com>,
 Wanpeng Li <wanpengli@...cent.com>, Vitaly Kuznetsov <vkuznets@...hat.com>,
 Mark Rutland <mark.rutland@....com>, Marc Zyngier <maz@...nel.org>,
 Daniel Lezcano <daniel.lezcano@...aro.org>,
 Richard Cochran <richardcochran@...il.com>, kvm@...r.kernel.org,
 netdev@...r.kernel.org
Subject: Re: [RFC PATCH v2 2/7] x86/tsc: Add clocksource ID, set
 system_counterval_t.cs_id

On 24.12.23 17:27, Simon Horman wrote:
> On Fri, Dec 15, 2023 at 11:06:07PM +0100, Peter Hilber wrote:
>> Add a clocksource ID for TSC and a distinct one for the early TSC.
>>
>> Use distinct IDs for TSC and early TSC, since those also have distinct
>> clocksource structs. This should help to keep existing semantics when
>> comparing clocksources.
>>
>> Also, set the recently added struct system_counterval_t member cs_id to the
>> TSC ID in the cases where the clocksource member is being set to the TSC
>> clocksource. In the future, this will keep get_device_system_crosststamp()
>> working, when it will compare the clocksource id in struct
>> system_counterval_t, rather than the clocksource.
>>
>> For the x86 ART related code, system_counterval_t.cs == NULL corresponds to
>> system_counterval_t.cs_id == CSID_GENERIC (0).
>>
>> Signed-off-by: Peter Hilber <peter.hilber@...nsynergy.com>
> 
> Hi Peter,
> 
> some minor feedback from my side that you may consider for
> a future revision.
> 
>> diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
> 
> ...
> 
>> @@ -1327,12 +1334,15 @@ EXPORT_SYMBOL(convert_art_to_tsc);
>>   * that this flag is set before conversion to TSC is attempted.
>>   *
>>   * Return:
>> - * struct system_counterval_t - system counter value with the pointer to the
>> + * struct system_counterval_t - system counter value with the ID of the
>>   *	corresponding clocksource
>>   *	@cycles:	System counter value
>>   *	@cs:		Clocksource corresponding to system counter value. Used
>>   *			by timekeeping code to verify comparability of two cycle
>>   *			values.
>> + *	@cs_id:		Clocksource ID corresponding to system counter value.
>> + *			Used by timekeeping code to verify comparability of two
>> + *			cycle values.
> 
> None of the documented parameters to convert_art_ns_to_tsc() above
> correspond to the parameters of convert_art_ns_to_tsc() below.
> 
> I would suggest a separate patch to address this.
> And dropping this hunk from this patch.
> 

In the quoted documentation, @cycles, @cs and @cs_id document members of
the return type struct system_counterval_t (not parameters). I will just
drop the members documentation, since they are documented at the struct
definition site anyway.

> The same patch that corrects the kernel doc for convert_art_ns_to_tsc()
> could also correct the kernel doc for tsc_refine_calibration_work()
> by documenting it's work parameter.
> 

OK.

Thanks for the comments,

Peter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ