At 2012-2-28 23:37, Dave Anderson wrote:
----- Original Message -----
> At 2012-1-10 21:54, Dave Anderson wrote:
>>
>>
>> ----- Original Message -----
>>> Hello Dave,
>>>
>>> Glad to hear the capability is desirable. I will start to implement this
>>> soon.
>>>
>>
>>>>> What if I change struct sub-command to this:
>>>>>
>>>>> 1. it can refer to anonymous members (e.g., page._mapcount)
>>>>> 2. it can refer to submembers(e.g., page._count.counter)
>>
>> One other suggestion -- I believe it should not be necessary to
>> support the "page._count.counter" format, because you can get
>> the data by using the container name. Taking the "_count.counter"
>> example:
>>
>> crash> p ((struct page *)0xffffea0000000200)._count.counter
>> $10 = 0
>> crash> p ((struct page *)0xffffea0000000200)._count
>> $11 = {
>> counter = 0
>> }
>> crash>
>>
>> So using "page._count" should suffice.
>>
>> Thanks,
>> Dave
>>
>> --
>> Crash-utility mailing list
>> Crash-utility(a)redhat.com
>>
https://www.redhat.com/mailman/listinfo/crash-utility
>>
>>
> Hello Dave,
>
> Sorry for reacting late. I have started to realize these item we talked
> before. But, considering your mail about "page._count.counter" format, I
> need to explain my opinion to you. Trying to support the
> "page._count.counter" format is used to help implementing the formatted
> output like:
>
> crash> struct page.flags,_count.counter -..< PAGE_list.txt
> 1024 0
> 1024 1
> 1024 1
> 1024 1
>
> Compared with "p ((struct page *)0xffffea0000000200)._count.counter",
> which can only display only one data each time, the former style can be
> more helpful when parsing the output.
>
> The reason why I want the "page._count.counter" format is I want to
> offer an efficient way to collect a lot of data. Then I'd like you to
> give some comments. Thanks.
I'm not interested in completely changing the output format of the
"struct"
command to display the raw data for multiple fields on a single line as
you've shown in your example above. It's completely redefining the output
format of the command. If you want to implement something like that, it
would have to be governed by a new output option, expressed something like:
crash> struct -<raw-output-option> page.flags,_count.counter
And if you were to do something like that, then I still maintain that the
"page._count.counter" format is unnecessary. You're going to be dumping
the whole structure behind the scenes, and then parsing for whatever fields
you're looking for.
Do you mean you don't accept changing the output format or simplely the
"page._count.counter" format?
As we talk before, I want to get "_count.counter" of several pages. So
the "page._count.counter" format comes up, which is not acceptable. If
you can accept changing the output format by using a new output option,
just like:
flags = 0
_count = {
counter = 0
}
...
change to:
"0 {0} ..." or "0 { counter = 0 } ..." or 0 "{ .counter = 0 }
..."
Actually the original code is easy to read, but hard to parse. So please
think about the above change.
Dave
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
--
--
Regards
Qiao Nuohan