Re: change of behavior for madvise in 3.9-rc1

From: Shaohua Li
Date: Wed Mar 06 2013 - 23:39:50 EST


On Wed, Mar 06, 2013 at 11:05:04PM -0500, CAI Qian wrote:
> Bisecting indicated that this commit,
> 1998cc048901109a29924380b8e91bc049b32951
> mm: make madvise(MADV_WILLNEED) support swap file prefetch
>
> Caused an LTP test failure,
> http://goo.gl/1FVPy
>
> madvise02 1 TPASS : failed as expected: TEST_ERRNO=EINVAL(22): Invalid argument
> madvise02 2 TPASS : failed as expected: TEST_ERRNO=EINVAL(22): Invalid argument
> madvise02 3 TPASS : failed as expected: TEST_ERRNO=EINVAL(22): Invalid argument
> madvise02 4 TPASS : failed as expected: TEST_ERRNO=ENOMEM(12): Cannot allocate memory
> madvise02 5 TFAIL : madvise succeeded unexpectedly
>
> While it passed without the above commit
> madvise02 1 TPASS : failed as expected: TEST_ERRNO=EINVAL(22): Invalid argument
> madvise02 2 TPASS : failed as expected: TEST_ERRNO=EINVAL(22): Invalid argument
> madvise02 3 TPASS : failed as expected: TEST_ERRNO=EINVAL(22): Invalid argument
> madvise02 4 TPASS : failed as expected: TEST_ERRNO=ENOMEM(12): Cannot allocate memory
> madvise02 5 TPASS : failed as expected: TEST_ERRNO=EBADF(9): Bad file descriptor

I thought this is expected behavior. madvise(MADV_WILLNEED) to anonymous memory
doesn't return -EBADF now, as now we support swap prefretch.

Thanks,
Shaohua
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/