lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 5 Apr 2012 11:53:22 +0100
From:	Alan Cox <alan@...rguk.ukuu.org.uk>
To:	"Shankarmurthy, Akshay" <akshay.s@...com>
Cc:	"linux-serial@...r.kernel.org" <linux-serial@...r.kernel.org>,
	"alan@...ux.intel.com" <alan@...ux.intel.com>,
	"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
	"paul.gortmaker@...driver.com" <paul.gortmaker@...driver.com>,
	"jamie@...ieiles.com" <jamie@...ieiles.com>,
	"swarren@...dia.com" <swarren@...dia.com>,
	"dianders@...omium.org" <dianders@...omium.org>,
	"davinci-linux-open-source@...ux.davincidsp.com" 
	<davinci-linux-open-source@...ux.davincidsp.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] serial: 8250: Add cpufreq support

On Thu, 5 Apr 2012 10:40:55 +0000
"Shankarmurthy, Akshay" <akshay.s@...com> wrote:

> Hi,
> 
> On Tue, Apr 03, 2012 at 15:25:30, Alan Cox wrote:
> > > This patch was submitted 2 years ago but didn't make it to the mainline. Now i am reposting it.
> > 
> > Can you fix it instead of just reposting it ?
> > 
> > 
> > > +#ifdef CONFIG_CPU_FREQ
> > > +static int serial8250_cpufreq_transition(struct notifier_block *nb,
> > > +					     unsigned long val, void *data)
> > > +{
> > > +	struct uart_8250_port *p;
> > > +	struct uart_port *uport;
> > 
> > What is your locking model ?
> > 
> 
> I will have a look at this and add the lock if necessary.

At the very least you need reference counts held on the tty struct and to
allow for the tty having vanished under you.

> > 
> > > +static inline void serial8250_cpufreq_deregister(struct uart_8250_port *p)
> > 
> > unregister
> 
> Ok. I will change it.
> 
> > 
> > > +		ret = serial8250_cpufreq_register(uart);
> > > +		if (ret < 0)
> > > +			printk(KERN_ERR "Failed to add cpufreq notifier\n");
> > 
> > Why do this for devices that don't care.
> 
> This is taken care in the code. If the device's frequency doesn't change after the
> change in the cpu frequency then it doesn't go for execution of the function "serial8250_set_termios".

But you still call each function and walk the list for each port on each
CPU transition. There are people with 128 ports in their systems and the
cpu frequency change is latency critical.

Nothing should even be getting registered in such cases.
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ