[Crash-utility] [PATCH] add -s option to vm to display one vma at a time

qiaonuohan qiaonuohan at cn.fujitsu.com
Wed Mar 14 02:05:47 UTC 2012


At 2012-3-14 4:45, Dave Anderson wrote:
>
>
> ----- Original Message -----
>> At 2012-3-13 17:56, qiaonuohan wrote:
>>
>> Hello Dave,
>>
>> When I am using "vm -p" command, I feel it is chaotic when too
>> much data is printed. I think it is clear to display one vma
>> each time.
>>
>> In the patch, I compare all vmas with the argument of -s option.
>> If an equal vma is found, it will be printed like below.
>>
>> crash>  vm -ps ffff88028ff7d3a0
>>        VMA           START       END     FLAGS FILE
>> ffff88028ff7d3a0 7fff29b71000 7fff29b87000 100173
>> VIRTUAL     PHYSICAL
>> 7fff29b71000  (not mapped)
>> 7fff29b72000  (not mapped)
>> 7fff29b73000  (not mapped)
>> 7fff29b74000  (not mapped)
>> 7fff29b75000  (not mapped)
>> 7fff29b76000  (not mapped)
>> 7fff29b77000  27faad000
>> 7fff29b78000  2807aa000
>> 7fff29b79000  280781000
>> 7fff29b7a000  280787000
>> 7fff29b7b000  280776000
>> 7fff29b7c000  280786000
>> 7fff29b7d000  27f2df000
>> 7fff29b7e000  27f2e0000
>> 7fff29b7f000  27f2e1000
>> 7fff29b80000  27f2d7000
>> 7fff29b81000  28b1ac000
>> 7fff29b82000  28ecc1000
>> 7fff29b83000  28c5c2000
>> 7fff29b84000  28aaf4000
>> 7fff29b85000  28aaf9000
>> 7fff29b86000  289566000
>> crash>
>
> Seems like a reasonable request.
>
> However, I don't like your mixing it with the "-R reference" usage,
> because it confuses things like this simple example:
>
>    crash>  vm -p -s ffff810ec9f57818
>          VMA           START       END     FLAGS FILE
>    ffff810ec9f57818   4010d000   40110000 101877 /usr/local/java/jdk1.5.0_19/bin/java
>    VIRTUAL     PHYSICAL
>    4010d000    ec89b1000
>    4010e000    FILE: /usr/local/java/jdk1.5.0_19/bin/java  OFFSET: e000
>    4010f000    e99803000
>    crash>
>
> If the command above were to be qualified with a "-R 4010e000" reference
> check, it results in a nonsensical error message:
>
>    crash>  vm -p -s ffff810ec9f57818 -R 4010e000
>    vm: only one -R option allowed
>    Usage:
>      vm [-p | -v | -m | [-R reference] | [-f vm_flags]] [pid | taskp] ...
>    Enter "help vm" for details.
>    crash>
>
> A few suggestions:
>
> (1) Don't even bother to tie it in with the "vm -v" option, because if
>      you already know the vm_area_struct address, then just print it with
>      "vm_area_struct<address>".
>
> (2) Then, since it *only* applies with the -p functionality, make it
>      a new "-P<vmaddr>" option, where the help page explains that the
>      <vmaddr>  argument must be a vm_area_struct of the current context:
>
>      Usage:
>        vm [-p | -P vmaddr | -v | -m | [-R reference] | [-f vm_flags]] [pid | taskp] ...
>
> (3) Make -P mutually exclusive with all of the other options.
>
> (4) Do not use the reference structure for this feature.  Just use your new
>      flag, and pass the vma address in the 3rd "vaddr" argument to vm_area_dump(),
>      since it's not even being used by cmd_vm().

I have modified the patch, please check.

I need to refer one more think. Yesterday, I sent the modified patch 
used to fix the problem of "swap/mount/file/...", please check it.

>
> Dave
>
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
>
>


-- 
--
Regards
Qiao Nuohan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: vm_s.patch
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20120314/8f4781bb/attachment.ksh>


More information about the Crash-utility mailing list