RE: fio 3.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> From: fio-owner@xxxxxxxxxxxxxxx [mailto:fio-owner@xxxxxxxxxxxxxxx] On
> Behalf Of Sitsofe Wheeler
...
> On 29 November 2017 at 13:12, Gavriliuk, Anton (HPS Ukraine)
> <anton.gavriliuk@xxxxxxx> wrote:
> > Latest findings...
> >
> > With the fio2.12 /dev/dax & mmap().  I run trace before start test.  We
> can see above open(), mmap()
> >
...
> >     5.630837 cpu=65 pid=45154 tgid=45154 madvise [28] ret=0x0
> syscallbeg=    0.000001 *addr=0x7f1a00200000 length=-2147483648 advise=0x1
> >
> > How it could be that mmap() length size -2Gb ??? (length=-2147483648).
> > I pointed +290g,
>
> Unsigned number being printed as signed?

Yes, that's 0x80000000 in hex.

The size_t argument is indeed unsigned (ssize_t is signed):
       int madvise(void *addr, size_t length, int advice);

This print is apparently from:
	https://github.com/HewlettPackard/LinuxKI

in src/kiinfo/syscalls.c print_syscall_args():	
	switch (format) {
		case SKIP:    break;
		case DECIMAL: printf ("%c%s=%i", fsep, label,  (int32)argval); break;
		case HEX:     printf ("%c%s=0x%llx", fsep, label,  argval); break;
		case OCTAL:   printf ("%c%s=0%llo", fsep, label, argval); break;

printed as a signed 32-bit value because of src/kiinfo/globals.c:
	{"madvise", "ret", HEX, "*addr", HEX, "length", DECIMAL, "advise", HEX, NULL, SKIP, NULL, SKIP, NULL, SKIP},
	{"mmap", "ret", HEX, "*addr", HEX, "length", DECIMAL, "prot", MMAP_PROT, "flags", MMAP_FLAGS, "fd", DECIMAL, "offset", HEX},

That project should differentiate between signed and unsigned arguments,
and add support for 64-bit signed and unsigned arguments as well.




��.n��������+%������w��{.n�������^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux