On Wed, May 04, 2022 at 05:17:30PM +0900, Byungchul Park wrote:
> CURRENT STATUS
> +/*
[...]
> + * Ensure it has been called on ON/OFF transition.
> + */
> +void dept_enirq_transition(unsigned long ip)
> +{
> + struct dept_task *dt = dept_task();
> + unsigned long flags;
> +
> + if (unlikely(READ_ONCE(dept_stop) || in_nmi()))
> + return;
> +
> + /*
> + * IRQ ON/OFF transition might happen while Dept is working.
> + * We cannot handle recursive entrance. Just ingnore it.
> + * Only transitions outside of Dept will be considered.
> + */
> + if (dt->recursive)
> + return;
> +
> + flags = dept_enter();
> +
> + enirq_update(ip);
> +
> + dept_exit(flags);
> +}
EXPORT_SYMBOL_GPL(dept_enirq_transition);
ERROR: modpost: "dept_enirq_transition" [arch/x86/kvm/kvm-amd.ko] undefined!
ERROR: modpost: "dept_enirq_transition" [arch/x86/kvm/kvm-intel.ko] undefined!
This function needs to be exported for modules.
Thanks.
--
Thanks,
Hyeonggon