[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4691D82F.3030401@qumranet.com>
Date: Mon, 09 Jul 2007 09:39:43 +0300
From: Avi Kivity <avi@...ranet.com>
To: Rusty Russell <rusty@...tcorp.com.au>
CC: Ingo Molnar <mingo@...e.hu>, kvm-devel@...ts.sourceforge.net,
linux-kernel@...r.kernel.org
Subject: Re: [kvm-devel] [PATCH][RFC] kvm-scheduler integration
Rusty Russell wrote:
> On Sun, 2007-07-08 at 15:48 +0200, Ingo Molnar wrote:
>
>> * Avi Kivity <avi@...ranet.com> wrote:
>>
>>
>>>>> +#ifdef CONFIG_SCHED_KVM
>>>>> +static __read_mostly struct sched_kvm_hooks kvm_hooks;
>>>>> +#endif
>>>>>
>>>> please just add a current->put_vcpu() function pointer instead of
>>>> this hooks thing.
>>>>
>>> Won't that increase task_struct (16 bytes on 64-bit) unnecessarily?
>>> The function pointers are common to all virtual machines.
>>>
>> well, this function pointer could then be reused by other virtual
>> machines as well, couldnt it? If the task struct overhead is a problem
>> (it really isnt, and it's dependent on CONFIG_KVM) then we could switch
>> it around to a notifier-alike mechanism.
>>
>
> OK, this patch is *ugly*. Not that there's anything wrong with a patch
> which says "I'm going to preempt you", but making it kvm-specific is
> ugly. ISTR times past where I wanted such a hook, although none spring
> immediately into my pre-coffee brain.
>
> I think a "struct preempt_ops *" and a "void *preempt_ops_data" inside
> every task struct is a better idea. Call the config option
> PREEMPT_SCHED_HOOKS and now there's nothing kvm-specific about it...
>
I considered that, but your proposal does not allow a single task to
have multiple preemption hooks installed (hookers?!). Since in general
there's no reason to suppose that users would be mutually exclusive, we
need to have a struct hlist of these things. All in all this seemed to
indicate that the second user should have the honor of figuring out that
stuff.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists