[PATCH 9/9] um: Add initial SMP support

Johannes Berg johannes at sipsolutions.net
Mon Jul 28 06:55:28 PDT 2025


On Sun, 2025-07-27 at 14:29 +0800, Tiwei Bie wrote:
> 
> +static void IPI_handler(int cpu, struct uml_pt_regs *regs)
> +{
> +	struct pt_regs *old_regs = set_irq_regs((struct pt_regs *)regs);
> +	unsigned char c;
> +	int fd;
> +
> +	irq_enter();
> +
> +	if (current->mm)
> +		os_alarm_process(current->mm->context.id.pid);
> +
> +	fd = uml_cpu_data[cpu].ipi_pipe[0];
> +	while (os_read_file(fd, &c, 1) == 1) {

We were discussing the IPI stuff and started thinking maybe an RT signal
with sigqueue() passing the value to the si_value in SA_SIGINFO data
would be possible and have less overhead? That way there's nothing on
the SIGIO path, and you don't need a read() for the type of IPI?

johannes



More information about the linux-um mailing list