Thread (70 messages) flat view 70 messages, 4 authors, 2011-07-05

RE: [PATCH 00/40] Staging: hv: Driver cleanup

From: KY Srinivasan <kys@microsoft.com>
Date: 2011-07-01 13:25:29
Also in: lkml

-----Original Message-----
From: Stephen Hemminger [mailto:shemminger@vyatta.com]
Sent: Friday, July 01, 2011 12:45 AM
To: KY Srinivasan
Cc: Christoph Hellwig; devel@linuxdriverproject.org; gregkh@suse.de; linux-
kernel@vger.kernel.org; virtualization@lists.osdl.org
Subject: Re: [PATCH 00/40] Staging: hv: Driver cleanup

On Fri, 1 Jul 2011 00:19:38 +0000
KY Srinivasan [off-list ref] wrote:
quoted
quoted
-----Original Message-----
From: Stephen Hemminger [mailto:shemminger@vyatta.com]
Sent: Thursday, June 30, 2011 7:48 PM
To: KY Srinivasan
Cc: Christoph Hellwig; devel@linuxdriverproject.org; gregkh@suse.de; linux-
kernel@vger.kernel.org; virtualization@lists.osdl.org
Subject: Re: [PATCH 00/40] Staging: hv: Driver cleanup

On Thu, 30 Jun 2011 23:32:34 +0000
KY Srinivasan [off-list ref] wrote:
quoted
quoted
-----Original Message-----
From: Christoph Hellwig [mailto:hch@infradead.org]
Sent: Thursday, June 30, 2011 3:34 PM
To: KY Srinivasan
Cc: gregkh@suse.de; linux-kernel@vger.kernel.org;
devel@linuxdriverproject.org; virtualization@lists.osdl.org
Subject: Re: [PATCH 00/40] Staging: hv: Driver cleanup

On Wed, Jun 29, 2011 at 07:38:21AM -0700, K. Y. Srinivasan wrote:
quoted
Further cleanup of the hv drivers:

	1) Cleanup the reference counting mess for both stor and net
devices.
quoted
quoted
quoted
quoted
I really don't understand the need for reference counting on the storage
side, especially now that you only have a SCSI driver.  The SCSI
midlayer does proper counting on it's objects (Scsi_Host, scsi_device,
scsi_cmnd), so you'll get that for free given that SCSI drivers just
piggyback on the midlayer lifetime rules.

For now your patches should probably go in as-is, but mid-term you
should be able to completely remove that code on the storage side.
Greg,

I am thinking of  going back to my original implementation where I had one
scsi
quoted
quoted
host
quoted
per IDE device. This will certainly simply the code. Let me know what you
think.
quoted
quoted
If you
quoted
agree with this approach, please drop this patch-set, I will send you a new
set
quoted
quoted
of patches.

I think there ref counting on network devices is also unneeded
as long as the unregister logic handles RCU correctly. The network layer
calls the driver unregister routine after all packets are gone.
On the networking side, what about incoming packets that may be racing
with the device destruction. The current ref counting scheme deals with
that case.
Not sure how HV driver tells hypervisor to stop sending packets. But the
destructor is not called until after all other CPU's are done processing
packets from that device.
The issue I was concerned is one where, on packet reception, we need
to de-reference the ext field in the struct hv_device (this is the pointer
to the net device and this could happen concurrently with the guest
trying to shut-down the device. In the current code we deal with this
condition.

Regards,

K. Y  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help