----- Original Message -----
> From: "Jan Stancek" <[email protected]>
> To: "Francesco RUNDO" <[email protected]>
> Cc: [email protected], [email protected]
> Sent: Friday, 21 February, 2014 12:01:22 PM
> Subject: Re: [LTP] [PATCH] madvise/madvise03.c: Changed test exit code
> 
> 
> 
> ----- Original Message -----
> > From: "Francesco RUNDO" <[email protected]>
> > To: "Jan Stancek" <[email protected]>
> > Cc: [email protected], [email protected]
> > Sent: Friday, 21 February, 2014 11:25:03 AM
> > Subject: RE: [LTP] [PATCH] madvise/madvise03.c: Changed test exit code
> > 
> > 
> > >>Why should this case be unsupported when addr1 is backed by shared
> > >>memory?
> > >>  TEST(madvise(addr1, 4096, MADV_REMOVE));
> > 
> > The reported scenario MADV_REMOVE is managed -at kernel side- by
> > madvise_remove() function on KERNEL_ROOT/mm/madvice.c.
> > From this file I got (mm/madvice.c):
> > 
> > ==
> > static long madvise_remove(struct vm_area_struct *vma,
> >                             struct vm_area_struct **prev,
> >                             unsigned long start, unsigned long end)
> > {
> > [snip]
> > error = do_fallocate(f, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
> >                     offset, end - start);
> > [snip]
> > }
> > ==
> > 
> > Now, "do_fallocate()" needs fallocate() op. but on ext3 this is not
> > supported
> > i.e. ENOTSUP.
> 
> This is the "unexpected part" for me. What I expect and get on x86_64
> with 3.10 based kernel is call to shmem_fallocate():

Do you have kernel compiled with CONFIG_TMPFS=y?

Regards,
Jan

> 
> madvise(start=0x7fcff6d66000 len_in=0x1000 behavior=0x9)
> Call Trace:
>  0xffffffff81150130 : shmem_fallocate+0x0/0x300 [kernel]
>  0xffffffff8122d056 : shm_fallocate+0x26/0x40 [kernel]
>  0xffffffff811a0089 : do_fallocate+0xf9/0x190 [kernel]
>  0xffffffff8115ac95 : SyS_madvise+0x355/0x7a0 [kernel]
>  0xffffffff815d05d9 : system_call_fastpath+0x16/0x1b [kernel]
> 
> Do you have possibility to run original testcase with strace?
> # strace ./madvise03 2>&1 | grep -v abcdefghijklmnopqrstuvwxyz12345
> 
> Regards,
> Jan
> 
> > This is the reason for which I consider this scenario as not supported and
> > not ENOSYS as the system call is supported as the remaining scenarios
> > worked
> > fine (MADV_DONTFORK and MADV_DOFORK).
> > 
> > Regards
> > FR
> > > 
> > > Regards,
> > > FR
> > > 
> > > >>Regards,
> > > >>Jan
> > > 
> > > 
> > > > 
> > > > 
> > > > Regards,
> > > > FR
> > > > 
> > > > -----Original Message-----
> > > > From: Wanlong Gao [mailto:[email protected]]
> > > > Sent: Friday, February 21, 2014 9:02 AM
> > > > To: Francesco RUNDO
> > > > Cc: [email protected]
> > > > Subject: Re: [LTP] [PATCH] madvise/madvise03.c: Changed test exit
> > > > code
> > > > 
> > > > On 02/21/2014 03:51 PM, Francesco RUNDO wrote:
> > > > > Changed exit code from TFAIL to TCONF  in case of unsupported
> > > > > syscall.
> > > > > The "madvise" syscall needs kernel support as well as fs support
> > > > > as -for specific advice- it requires specific filesystem
> > > > > operations such as fallocate().
> > > > 
> > > > Could you paste the running log on not supported system?
> > > > 
> > > > Thanks,
> > > > Wanlong Gao
> > > > 
> > > > > So, if kernel support is missed or fs doesn't provide specific
> > > > > operation needed for such "advice" scenario of that syscall, the
> > > > > right exit code (according to LTP defs) is not TFAIL as it is not
> > > > > a failure but it is TCONF as the syscall is unsupported.
> > > > > 
> > > > > Signed-off-by: Francesco Rundo <[email protected]>
> > > > > ---
> > > > >  testcases/kernel/syscalls/madvise/madvise03.c |   17
> > > > >  +++++++++++++----
> > > > >  1 files changed, 13 insertions(+), 4 deletions(-)
> > > > > 
> > > > > diff --git a/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > b/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > index b0c17e8..23dd9a6 100644
> > > > > --- a/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > +++ b/testcases/kernel/syscalls/madvise/madvise03.c
> > > > > @@ -160,10 +160,19 @@ static void cleanup(void)  static void
> > > > > check_and_print(char *advice)  {
> > > > >       if (TEST_RETURN == -1) {
> > > > > -             tst_resm(TFAIL,
> > > > > -                      "madvise test for %s failed with "
> > > > > -                      "return = %ld, errno = %d : %s",
> > > > > -                      advice, TEST_RETURN, TEST_ERRNO, 
> > > > > strerror(TEST_ERRNO));
> > > > > +             if (TEST_ERRNO != ENOTSUP) {
> > > > > +                     tst_resm(TFAIL,
> > > > > +                              "madvise test for %s failed with "
> > > > > +                              "return = %ld, errno = %d : %s",
> > > > > +                              advice, TEST_RETURN, TEST_ERRNO,
> > > > > +                              strerror(TEST_ERRNO));
> > > > > +             } else {
> > > > > +                     tst_resm(TCONF,
> > > > > +                             "madvise test for %s unsupported "
> > > > > +                             "return = %ld, errno = %d : %s",
> > > > > +                             advice, TEST_RETURN, TEST_ERRNO,
> > > > > +                             strerror(TEST_ERRNO));
> > > > > +             }
> > > > >       } else if (STD_FUNCTIONAL_TEST) {
> > > > >               tst_resm(TPASS, "madvise test for %s PASSED", advice);
> > > > >       }
> > > > > 
> > > > 
> > > > 
> > > > --------------------------------------------------------------------
> > > > --
> > > > -------- Managing the Performance of Cloud-Based Applications Take
> > > > advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> > > > Read the Whitepaper.
> > > > http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.
> > > > clktrk _______________________________________________
> > > > Ltp-list mailing list
> > > > [email protected]
> > > > https://lists.sourceforge.net/lists/listinfo/ltp-list
> > > > 
> > > 
> > 
> 

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to