[patch 1/3] ps3: Disk Storage Driver
Andrew Morton
akpm at linux-foundation.org
Thu Jul 19 19:10:45 EST 2007
On Thu, 19 Jul 2007 10:57:53 +0200 (CEST) Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com> wrote:
> Hi Andrew,
>
> On Wed, 18 Jul 2007, Andrew Morton wrote:
> > On Mon, 16 Jul 2007 18:15:40 +0200
> > Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com> wrote:
> >
> > > From: Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com>
> > >
> > > Add a Disk Storage Driver for the PS3:
> >
> > Your patchset significantly hits powerpc, scsi and block. So who gets to
> > merge this? Jens? James? Paul?
> >
> > Me, I guess ;)
>
> As Paul is on holidays, please take it.
OK.
> The PS3 storage driver core support is
> already in mainline, but the actual drivers aren't, as Paul was waiting for
> acks from the maintainers.
>
> BTW, do you prefer incremental patches for the comments below, or an update of
> the full patchset?
Incremental is preferred, but I convert replacement patches into
incremental patches at about 10Hz nowadays. Whatever's easier.
(Actually, if it's a replacement patch then only I get to see the
incremental patch, and the incremental patch is more reviewer-friendly).
> I didn't have much choice, as most of it was static and I don't need the full
> libata core anyway.
>
> If I would factor it out, any good suggestion where to put the factored out
> code?
Take it up with Jeff, please. If you're keen. It isn't a lot of code.
>
> > > +static int ps3disk_remove(struct ps3_system_bus_device *_dev)
> > > +{
> > > + struct ps3_storage_device *dev = to_ps3_storage_device(&_dev->core);
> > > + struct ps3disk_private *priv = ps3disk_priv(dev);
> > > +
> > > + __clear_bit(priv->gendisk->first_minor / PS3DISK_MINORS,
> > > + &ps3disk_mask);
> >
> > I see no locking here which makes this __clear_bit and the above __set_bit
> > non-racy?
>
> Were .probe()/.remove() made concurrent again? I thought that idea was dropped
> because it caused too many problems?
I don't _think_ there's any global exclusion on ->probe calls. For a
particular driver instance it's hard to see how these thigns can run
concurrently, dunno. I guess two hotunplugs coud happen concurrently.
More information about the Linuxppc-dev
mailing list