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

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

From: Stephen Hemminger <hidden>
Date: 2011-07-01 04:45:19
Also in: lkml

On Fri, 1 Jul 2011 00:19:38 +0000
KY Srinivasan [off-list ref] wrote:
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.
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
host
quoted
per IDE device. This will certainly simply the code. Let me know what you think.
If you
quoted
agree with this approach, please drop this patch-set, I will send you a new set
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help