All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hanjun Guo <hanjun.guo@linaro.org>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Sudeep Holla <sudeep.holla@arm.com>
Cc: "linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>
Subject: Re: [PATCH 1/3] ACPI / processor: remove incorrect comparison of phys_id
Date: Thu, 27 Nov 2014 10:43:37 +0800	[thread overview]
Message-ID: <54768FD9.9000808@linaro.org> (raw)
In-Reply-To: <9584090.hqdaL9kipZ@vostro.rjw.lan>

On 2014-11-27 6:26, Rafael J. Wysocki wrote:
> On Wednesday, November 26, 2014 10:33:04 AM Sudeep Holla wrote:
>> Hi Hanjun,
>>
>> On 26/11/14 09:53, Hanjun Guo wrote:
>>> Hi Sudeep,
>>>
>>> On 2014-11-25 22:48, Sudeep Holla wrote:
>>>> phys_id in acpi_processor structure is unsigned 32-bit integer,
>>>> comparing it with signed value is incorrect.
>>>
>>> Yes, this is a bug :)
>>>
>>> But the phys_id in acpi_processor structure should be signed value
>>> because acpi_get_phys_id() will return -1 if there if no CPU entry
>>> found in MADT table.
>>>
>>> I found the id in acpi_processor structure should also be signed
>>> value by unsigned now, we should fix that too.
>>>
>>
>> I tend to disagree, since the physical(h/w) and logical identifiers are
>> unsigned integers, the structure elements must also be the same. Though
>> for checking the correctness of those identifiers, the functions can
>> manage through signed values or any other alternates IMO(i.e. more
>> implementation details)
>>
>> Let's see what's Rafael's opinion on this.
>>
>>>>
>>>> This patch removes that incorrect comparision in
>>>> acpi_processor_hotadd_init as the lone user of this function is
>>>> already checking for correctness of phys_id before calling it.
>>>
>>> if (apic_id < 0) acpi_handle_debug(pr->handle, "failed to get CPU
>>> APIC ID.\n");
>>>
>>> it only check the value and print debug message but no returns, so I
>>> think the check in the following patch is still needed.
>>>
>>
>> Agreed, but that's something we need to fix in the logic and not by
>> changing these identifiers to signed values in the structures.
> 
> I'd rather not change data structures just because of what one funtion returns.
> 
> Instead, I'd do something like
> 
> 	#define CPU_PHYS_ID_INVALID	(u32)(-1)
> 
> change the function in question to return CPU_PHYS_ID_INVALID instead of -1
> and change the check to
> 
> 	if (phys_id == CPU_PHYS_ID_INVALID)

I'm fine with this :)

Thanks
Hanjun


  reply	other threads:[~2014-11-27  2:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-25 14:48 [PATCH 0/3] ACPI/processor: trivial fixes Sudeep Holla
2014-11-25 14:48 ` [PATCH 1/3] ACPI / processor: remove incorrect comparison of phys_id Sudeep Holla
2014-11-25 23:11   ` Rafael J. Wysocki
2014-11-26 12:23     ` Sudeep Holla
2014-11-26  9:53   ` Hanjun Guo
2014-11-26 10:33     ` Sudeep Holla
2014-11-26 22:26       ` Rafael J. Wysocki
2014-11-27  2:43         ` Hanjun Guo [this message]
2014-11-28 19:05         ` Sudeep Holla
2014-11-28 23:26           ` Rafael J. Wysocki
2015-02-13  7:56             ` Hanjun Guo
2015-02-16 10:08               ` Sudeep Holla
2015-02-17 15:01                 ` Hanjun Guo
2015-02-17 15:20                   ` Sudeep Holla
2014-11-25 14:48 ` [PATCH 2/3] ACPI / processor: remove unused variabled from acpi_processor_power structure Sudeep Holla
2014-11-25 14:48 ` [PATCH 3/3] ACPI / cpuidle: avoid assigning signed errno to acpi_status Sudeep Holla

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=54768FD9.9000808@linaro.org \
    --to=hanjun.guo@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=sudeep.holla@arm.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.