From: "Guilherme G. Piccoli" <gpiccoli@linux.vnet.ibm.com>
To: Sathya Perla <sathya.perla@broadcom.com>
Cc: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>,
Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>,
Somnath Kotur <somnath.kotur@broadcom.com>,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next 1/2] be2net: set temperature value for all adapter's functions
Date: Mon, 25 Jul 2016 09:53:03 -0300 [thread overview]
Message-ID: <57960BAF.20004@linux.vnet.ibm.com> (raw)
In-Reply-To: <a231dccbdf9d054819aca387db6533c4@mail.gmail.com>
On 07/25/2016 07:48 AM, Sathya Perla wrote:
>> -----Original Message-----
>> From: Guilherme G. Piccoli [mailto:gpiccoli@linux.vnet.ibm.com]
>>
>> Temperature values on be2net driver are made available to userspace via
> hwmon abstraction, so tools like lm-
>> sensors can present them to the user.
>> The driver provides hwmon structures for each adapter's function.
>> Nevertheless, the temperature information come from fw queries performed
> by
>> be_worker() with some frequency, and this procedure is called with a
> single function as argument; this means
>> that the temperature value is updated only in the specific function that
> was passed to be_worker().
>>
>> This can lead to incongruency in reported temperature by a function, or
> in a worse scenario, some functions
>> might be unable to provide temperature info to userspace, if they
> weren't fed with this information from fw in
>> be_worker() run.
>
> Hi, I'm wondering if you are OK with the temperature value being 128s old
> (2/2 patch), then why is it a problem
> if two different functions report a temperature value that is queried a
> few seconds apart?
> Also, you'll not have a scenario where the FW cmd succeeds for one
> function and fails for other functions.
> It's a common FW for the entire adapter.
>
>>
>> This patch changes the way temperature is set in be2net driver. At
> anytime the fw query is performed, it will set
>> the temperature value for all functions of the adapter, instead of only
> setting the temperature of the function
>> passed to be_worker().
> If the possible inconsistency across functions is indeed a problem, then a
> simpler solution would be to
> issue the FW cmd synchronously when the sysfs attr is read, i.e., in
> be_hwmon_show_temp() routine itself.
>
Hi Sathya, thanks very much for your quick reply. I agree with you that
an 1 or 2 sec inconsistency wouldn't harm, but the main problem we're
seeing is that be_worker() is being called with a single function as a
parameter - in our case, the last function is being passed as argument
to be_worker() multiple times in a row, and then we have its temperature
updated but the other functions' temperature set as invalid.
Regarding the temperature update run on be_hwmon_show_temp(), it was an
idea too, but I was afraid in delay this output too much - imagine some
userspace tool reads hwmon attributes for all functions almost at "same
time", supposing the fw command can't run in parallel, the "last" read
would need to wait 4 fw commands to complete before showing it's output.
Besides, in a worse scenario, some "not-friendly" tool might issue lots
of reads to hwmon per second then issuing lots of fw commands, which
does not seem a good idea. Of course this last case we can avoid by
implementing a counter or timer on be_hwmon_show_temp() to allow maximum
number of fw cmds in a time frame.
I appreciate your advice on how do you prefer to address this issue.
Thanks,
Guilherme
> thanks!
> -Sathya
>
next prev parent reply other threads:[~2016-07-25 12:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-23 1:29 [PATCH net-next 1/2] be2net: set temperature value for all adapter's functions Guilherme G. Piccoli
2016-07-23 1:29 ` [PATCH net-next 2/2] be2net: query temperature on probe and decrease its frequency on be_worker() Guilherme G. Piccoli
2016-07-25 10:48 ` [PATCH net-next 1/2] be2net: set temperature value for all adapter's functions Sathya Perla
2016-07-25 12:53 ` Guilherme G. Piccoli [this message]
2016-07-26 8:26 ` Sathya Perla
2016-07-26 20:31 ` Guilherme G. Piccoli
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=57960BAF.20004@linux.vnet.ibm.com \
--to=gpiccoli@linux.vnet.ibm.com \
--cc=ajit.khaparde@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=sathya.perla@broadcom.com \
--cc=somnath.kotur@broadcom.com \
--cc=sriharsha.basavapatna@broadcom.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.