Re: [PATCH 1/3] vrange: Add vrange syscall and handle splitting/merging and marking vmas

From: John Stultz
Date: Mon Mar 17 2014 - 20:37:12 EST


On 03/17/2014 02:43 AM, Jan Kara wrote:
> On Mon 17-03-14 10:21:18, Jan Kara wrote:
>> On Fri 14-03-14 11:33:31, John Stultz wrote:
>>> + for (;;) {
>>> + unsigned long new_flags;
>>> + pgoff_t pgoff;
>>> + unsigned long tmp;
>>> +
>>> + if (!vma)
>>> + goto out;
>>> +
>>> + if (vma->vm_flags & (VM_SPECIAL|VM_LOCKED|VM_MIXEDMAP|
>>> + VM_HUGETLB))
>>> + goto out;
>>> +
>>> + /* We don't support volatility on files for now */
>>> + if (vma->vm_file) {
>>> + ret = -EINVAL;
>>> + goto out;
>>> + }
>>> +
>>> + new_flags = vma->vm_flags;
>>> +
>>> + if (start < vma->vm_start) {
>>> + start = vma->vm_start;
>>> + if (start >= end)
>>> + goto out;
>>> + }
> One more question: This seems to silently skip any holes between VMAs. Is
> that really intended? I'd expect that marking unmapped range as volatile /
> non-volatile should return error... In any case what happens should be
> defined in the description.

So.. initially it was by design, but as I look at madvise and think
about it further, it does make more sense to throw errors if memory in
the range is not mapped.

I'll try to rework things to adapt to this.

thanks
-john
--
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/