All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: <kumar.gala@freescale.com>, <benh@kernel.crashing.org>,
	<greg@kroah.com>, <akpm@kernel.org>,
	<linuxppc-dev@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
	<linux-console@vger.kernel.org>
Subject: Re: [PATCH 6/7] tty/powerpc: introduce the ePAPR embedded hypervisor byte channel driver
Date: Thu, 19 May 2011 10:14:38 -0500	[thread overview]
Message-ID: <4DD533DE.1020705@freescale.com> (raw)
In-Reply-To: <20110519153358.5876f310@lxorguk.ukuu.org.uk>

Alan Cox wrote:
> ttys = tty_port_tty_get(&bc->port);
> stuff
> if (ttys != NULL)
> 	tty stuff
> 	tty_kref_put(ttys);

Under what circumstances can ttys be NULL?  I currently only use this code in
the RX and TX interrupt handlers, which are both enabled in the
tty_port_operations.activate() function.

Is this right for the TX handler:

static irqreturn_t ehv_bc_tty_tx_isr(int irq, void *data)
{
	struct ehv_bc_data *bc = data;
	struct tty_struct *ttys = tty_port_tty_get(&bc->port);

	ehv_bc_tx_dequeue(bc);
	if (ttys) {
		tty_wakeup(ttys);
		tty_kref_put(ttys);
	}

	return IRQ_HANDLED;
}

I just want to make sure that testing for NULL is really necessary in my
interrupt handlers.

>> > +		len = min_t(unsigned int,
>> > +			    CIRC_CNT_TO_END(bc->head, bc->tail, BUF_SIZE),
>> > +			    EV_BYTE_CHANNEL_MAX_BYTES);
> The kfifo API is probably faster and cleaner. Much of tty still uses
> CIRC_* because they predate the new APIs.

Ok, I'll change it.

> You really also need a hangup method so vhangup() does the right thing
> and you can securely do logins etc and sessions on your console. As
> you've got no hardware entangled in this and you already use tty_port
> helpers the hangup helper will do the work for you.

Ok.

> 
> I guess the only other thing to consider is whether you want to implement
> a SYSRQ interface on your console ?

I don't think byte channels can support SYSRQ, but I'll look into it.

-- 
Timur Tabi
Linux kernel developer at Freescale


WARNING: multiple messages have this Message-ID (diff)
From: Timur Tabi <timur@freescale.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: kumar.gala@freescale.com, linux-kernel@vger.kernel.org,
	akpm@kernel.org, linux-console@vger.kernel.org, greg@kroah.com,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 6/7] tty/powerpc: introduce the ePAPR embedded hypervisor byte channel driver
Date: Thu, 19 May 2011 10:14:38 -0500	[thread overview]
Message-ID: <4DD533DE.1020705@freescale.com> (raw)
In-Reply-To: <20110519153358.5876f310@lxorguk.ukuu.org.uk>

Alan Cox wrote:
> ttys = tty_port_tty_get(&bc->port);
> stuff
> if (ttys != NULL)
> 	tty stuff
> 	tty_kref_put(ttys);

Under what circumstances can ttys be NULL?  I currently only use this code in
the RX and TX interrupt handlers, which are both enabled in the
tty_port_operations.activate() function.

Is this right for the TX handler:

static irqreturn_t ehv_bc_tty_tx_isr(int irq, void *data)
{
	struct ehv_bc_data *bc = data;
	struct tty_struct *ttys = tty_port_tty_get(&bc->port);

	ehv_bc_tx_dequeue(bc);
	if (ttys) {
		tty_wakeup(ttys);
		tty_kref_put(ttys);
	}

	return IRQ_HANDLED;
}

I just want to make sure that testing for NULL is really necessary in my
interrupt handlers.

>> > +		len = min_t(unsigned int,
>> > +			    CIRC_CNT_TO_END(bc->head, bc->tail, BUF_SIZE),
>> > +			    EV_BYTE_CHANNEL_MAX_BYTES);
> The kfifo API is probably faster and cleaner. Much of tty still uses
> CIRC_* because they predate the new APIs.

Ok, I'll change it.

> You really also need a hangup method so vhangup() does the right thing
> and you can securely do logins etc and sessions on your console. As
> you've got no hardware entangled in this and you already use tty_port
> helpers the hangup helper will do the work for you.

Ok.

> 
> I guess the only other thing to consider is whether you want to implement
> a SYSRQ interface on your console ?

I don't think byte channels can support SYSRQ, but I'll look into it.

-- 
Timur Tabi
Linux kernel developer at Freescale

WARNING: multiple messages have this Message-ID (diff)
From: Timur Tabi <timur@freescale.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: kumar.gala@freescale.com, benh@kernel.crashing.org,
	greg@kroah.com, akpm@kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, linux-console@vger.kernel.org
Subject: Re: [PATCH 6/7] tty/powerpc: introduce the ePAPR embedded hypervisor byte channel driver
Date: Thu, 19 May 2011 10:14:38 -0500	[thread overview]
Message-ID: <4DD533DE.1020705@freescale.com> (raw)
In-Reply-To: <20110519153358.5876f310@lxorguk.ukuu.org.uk>

Alan Cox wrote:
> ttys = tty_port_tty_get(&bc->port);
> stuff
> if (ttys != NULL)
> 	tty stuff
> 	tty_kref_put(ttys);

Under what circumstances can ttys be NULL?  I currently only use this code in
the RX and TX interrupt handlers, which are both enabled in the
tty_port_operations.activate() function.

Is this right for the TX handler:

static irqreturn_t ehv_bc_tty_tx_isr(int irq, void *data)
{
	struct ehv_bc_data *bc = data;
	struct tty_struct *ttys = tty_port_tty_get(&bc->port);

	ehv_bc_tx_dequeue(bc);
	if (ttys) {
		tty_wakeup(ttys);
		tty_kref_put(ttys);
	}

	return IRQ_HANDLED;
}

I just want to make sure that testing for NULL is really necessary in my
interrupt handlers.

>> > +		len = min_t(unsigned int,
>> > +			    CIRC_CNT_TO_END(bc->head, bc->tail, BUF_SIZE),
>> > +			    EV_BYTE_CHANNEL_MAX_BYTES);
> The kfifo API is probably faster and cleaner. Much of tty still uses
> CIRC_* because they predate the new APIs.

Ok, I'll change it.

> You really also need a hangup method so vhangup() does the right thing
> and you can securely do logins etc and sessions on your console. As
> you've got no hardware entangled in this and you already use tty_port
> helpers the hangup helper will do the work for you.

Ok.

> 
> I guess the only other thing to consider is whether you want to implement
> a SYSRQ interface on your console ?

I don't think byte channels can support SYSRQ, but I'll look into it.

-- 
Timur Tabi
Linux kernel developer at Freescale


  reply	other threads:[~2011-05-19 15:15 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-19 13:54 [PATCH 0/7] This patchset adds support for running Linux under the Freescale hypervisor, Timur Tabi
2011-05-19 13:54 ` Timur Tabi
2011-05-19 13:54 ` [PATCH 1/7] powerpc: make irq_choose_cpu() available to all PIC drivers Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-06-22 11:41   ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-05-19 13:54 ` [PATCH 2/7] powerpc: introduce ePAPR embedded hypervisor hcall interface Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-06-22 11:41   ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-05-19 13:54 ` [PATCH 3/7] powerpc: introduce the ePAPR embedded hypervisor vmpic driver Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-06-22 11:41   ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-05-19 13:54 ` [PATCH 4/7] powerpc: add Freescale hypervisor partition control functions Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-06-22 11:41   ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-06-22 11:41     ` Kumar Gala
2011-05-19 13:54 ` [PATCH 5/7] powerpc/85xx: add board support for the Freescale hypervisor Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-06-22 11:42   ` Kumar Gala
2011-06-22 11:42     ` Kumar Gala
2011-06-22 11:42     ` Kumar Gala
2011-05-19 13:54 ` [PATCH 6/7] tty/powerpc: introduce the ePAPR embedded hypervisor byte channel driver Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-05-19 14:22   ` Greg KH
2011-05-19 14:22     ` Greg KH
2011-05-19 14:27     ` Timur Tabi
2011-05-19 14:27       ` Timur Tabi
2011-05-19 14:27       ` Timur Tabi
2011-05-19 14:36     ` Alan Cox
2011-05-19 14:36       ` Alan Cox
2011-05-19 14:33   ` Alan Cox
2011-05-19 14:33     ` Alan Cox
2011-05-19 14:33     ` Alan Cox
2011-05-19 15:14     ` Timur Tabi [this message]
2011-05-19 15:14       ` Timur Tabi
2011-05-19 15:14       ` Timur Tabi
2011-05-19 15:50       ` Alan Cox
2011-05-19 15:50         ` Alan Cox
2011-05-19 15:50         ` Alan Cox
2011-05-19 15:54         ` Timur Tabi
2011-05-19 15:54           ` Timur Tabi
2011-05-19 15:54           ` Timur Tabi
2011-05-19 16:00           ` Alan Cox
2011-05-19 16:00             ` Alan Cox
2011-05-19 16:00             ` Alan Cox
2011-05-19 16:02           ` Greg KH
2011-05-19 16:02             ` Greg KH
2011-05-19 16:18             ` Timur Tabi
2011-05-19 16:18               ` Timur Tabi
2011-05-19 16:18               ` Timur Tabi
2011-05-19 16:05     ` Timur Tabi
2011-05-19 16:05       ` Timur Tabi
2011-05-19 16:05       ` Timur Tabi
2011-05-20  9:54       ` Alan Cox
2011-05-20  9:54         ` Alan Cox
2011-05-20  9:54         ` Alan Cox
2011-05-19 16:31     ` Timur Tabi
2011-05-19 16:31       ` Timur Tabi
2011-05-19 16:31       ` Timur Tabi
2011-05-19 17:25       ` Alan Cox
2011-05-19 17:25         ` Alan Cox
2011-05-19 17:25         ` Alan Cox
2011-05-19 15:02   ` Arnd Bergmann
2011-05-19 15:02     ` Arnd Bergmann
2011-05-19 15:09     ` Timur Tabi
2011-05-19 15:09       ` Timur Tabi
2011-05-19 15:09       ` Timur Tabi
2011-05-19 13:54 ` [PATCH 7/7] drivers/misc: introduce Freescale hypervisor management driver Timur Tabi
2011-05-19 13:54   ` Timur Tabi
2011-05-19 13:56 ` [PATCH 0/7] This patchset adds support for running Linux under the Freescale hypervisor, Timur Tabi
2011-05-19 13:56   ` Timur Tabi
2011-05-20 20:29 ` Kumar Gala
2011-05-20 20:29   ` Kumar Gala
2011-05-20 20:29   ` Kumar Gala
2011-05-23 21:09   ` Tabi Timur-B04825
2011-05-23 21:09     ` Tabi Timur-B04825
2011-05-23 21:09     ` Tabi Timur-B04825
2011-05-23 22:27     ` Kumar Gala
2011-05-23 22:27       ` Kumar Gala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DD533DE.1020705@freescale.com \
    --to=timur@freescale.com \
    --cc=akpm@kernel.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=benh@kernel.crashing.org \
    --cc=greg@kroah.com \
    --cc=kumar.gala@freescale.com \
    --cc=linux-console@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.