[SLOF] [PATCH v2 07/19] virtio-{net, blk, scsi, 9p}: use status variable
Nikunj A Dadhania
nikunj at linux.vnet.ibm.com
Fri Jan 22 17:53:40 AEDT 2016
Alexey Kardashevskiy <aik at ozlabs.ru> writes:
> On 01/22/2016 04:41 PM, Nikunj A Dadhania wrote:
>> Alexey Kardashevskiy <aik at ozlabs.ru> writes:
>>
>>>>>>
>>>>>> return blk_size;
>>>>>> +dev_error:
>>>>>> + fprintf(stderr, "Device Error \n");
>>>>>
>>>>>
>>>>> This seems to be unrelated change but ok. I'd think that having
>>>>> VIRTIO_STAT_FAILED bit set will trigger some message in SLOF anyway...
>>>>
>>>> There wont be any error in SLOF by writing this, its will just inform
>>>> the HV about the inability of the guest to drive the device.
>>>
>>>
>>> I'd add a printf into virtio_set_status() when VIRTIO_STAT_FAILED is set...
>>
>> How do you know which file/device is calling it?
>
> Why does this matter? I just want to know if device stopped working,
> straight away, helps with debugging, no?
Dont you need to know which device to debug virtio-{net,9p,scsi,blk}?
For SLOF, its single threaded and you can figure that out. In case
of multi-thread, its not a good practice.
>> On the side note, I would not want to do checking in my low-level
>> routines to log errors. This slows down virtio_set_status fast path,
>> isn't it ?
>
>
> You do not have to print an error every time you call virtio_set_status,
> just when it becomes set.
You would need to do:
virtio_set_status() {
...
if ((status & VIRTIO_STAT_FAILED) == VIRTIO_STAT_FAILED) {
print something
}
...
}
So every call using set_status, and delays. The caller knows when its
setting this, it can print that.
Regards
Nikunj
More information about the SLOF
mailing list