All of lore.kernel.org
 help / color / mirror / Atom feed
From: Toshi Kani <toshi.kani@hp.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: linux-acpi@vger.kernel.org,
	Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Wen Congyang <wencongyang@gmail.com>,
	isimatu.yasuaki@jp.fujitsu.com, lenb@kernel.org,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org
Subject: Re: [RFC PATCH v3 3/3] acpi_memhotplug: Allow eject to proceed on rebind scenario
Date: Wed, 28 Nov 2012 15:16:22 -0700	[thread overview]
Message-ID: <1354140982.26955.341.camel@misato.fc.hp.com> (raw)
In-Reply-To: <1451747.3VlxbhJES4@vostro.rjw.lan>

> > > > > > I see.  I do not think whether or not the device is removed on eject
> > > > > > makes any difference here.  The issue is that after driver_unbind() is
> > > > > > done, acpi_bus_hot_remove_device() no longer calls the ACPI memory
> > > > > > driver (hence, it cannot fail in prepare_remove), and goes ahead to call
> > > > > > _EJ0.  If driver_unbind() did off-line the memory, this is OK.  However,
> > > > > > it cannot off-line kernel memory ranges.  So, we basically need to
> > > > > > either 1) serialize acpi_bus_hot_remove_device() and driver_unbind(), or
> > > > > > 2) make acpi_bus_hot_remove_device() to fail if driver_unbind() is run
> > > > > > during the operation.
> > > > > 
> > > > > OK, I see the problem now.
> > > > > 
> > > > > What exactly is triggering the driver_unbind() in this scenario?
> > > > 
> > > > User can request driver_unbind() from sysfs as follows.  I do not see
> > > > much reason why user has to do for memory, though.
> > > > 
> > > > echo "PNP0C80:XX" > /sys/bus/acpi/drivers/acpi_memhotplug/unbind
> > > 
> > > This is wrong.  Even if we want to permit user space to forcibly unbind
> > > drivers from anything like this, we should at least check for some
> > > situations in which it is plain dangerous.  Like in this case.  So I think
> > > the above should fail unless we know that the driver won't be necessary
> > > to handle hot-removal of memory.
> > 
> > Well, we tried twice already... :)
> > https://lkml.org/lkml/2012/11/16/649
> 
> I didn't mean driver_unbind() should fail.  The code path that executes
> driver_unbind() eventually should fail _before_ executing it.

driver_unbind() is the handler, so it is called directly from this
unbind interface.

Thanks,
-Toshi


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Toshi Kani <toshi.kani@hp.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: linux-acpi@vger.kernel.org,
	Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Wen Congyang <wencongyang@gmail.com>,
	isimatu.yasuaki@jp.fujitsu.com, lenb@kernel.org,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org
Subject: Re: [RFC PATCH v3 3/3] acpi_memhotplug: Allow eject to proceed on rebind scenario
Date: Wed, 28 Nov 2012 15:16:22 -0700	[thread overview]
Message-ID: <1354140982.26955.341.camel@misato.fc.hp.com> (raw)
In-Reply-To: <1451747.3VlxbhJES4@vostro.rjw.lan>

> > > > > > I see.  I do not think whether or not the device is removed on eject
> > > > > > makes any difference here.  The issue is that after driver_unbind() is
> > > > > > done, acpi_bus_hot_remove_device() no longer calls the ACPI memory
> > > > > > driver (hence, it cannot fail in prepare_remove), and goes ahead to call
> > > > > > _EJ0.  If driver_unbind() did off-line the memory, this is OK.  However,
> > > > > > it cannot off-line kernel memory ranges.  So, we basically need to
> > > > > > either 1) serialize acpi_bus_hot_remove_device() and driver_unbind(), or
> > > > > > 2) make acpi_bus_hot_remove_device() to fail if driver_unbind() is run
> > > > > > during the operation.
> > > > > 
> > > > > OK, I see the problem now.
> > > > > 
> > > > > What exactly is triggering the driver_unbind() in this scenario?
> > > > 
> > > > User can request driver_unbind() from sysfs as follows.  I do not see
> > > > much reason why user has to do for memory, though.
> > > > 
> > > > echo "PNP0C80:XX" > /sys/bus/acpi/drivers/acpi_memhotplug/unbind
> > > 
> > > This is wrong.  Even if we want to permit user space to forcibly unbind
> > > drivers from anything like this, we should at least check for some
> > > situations in which it is plain dangerous.  Like in this case.  So I think
> > > the above should fail unless we know that the driver won't be necessary
> > > to handle hot-removal of memory.
> > 
> > Well, we tried twice already... :)
> > https://lkml.org/lkml/2012/11/16/649
> 
> I didn't mean driver_unbind() should fail.  The code path that executes
> driver_unbind() eventually should fail _before_ executing it.

driver_unbind() is the handler, so it is called directly from this
unbind interface.

Thanks,
-Toshi



  reply	other threads:[~2012-11-28 22:16 UTC|newest]

Thread overview: 191+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-23 17:50 [RFC PATCH v3 0/3] acpi: Introduce prepare_remove device operation Vasilis Liaskovitis
2012-11-23 17:50 ` Vasilis Liaskovitis
2012-11-23 17:50 ` [RFC PATCH v3 1/3] acpi: Introduce prepare_remove operation in acpi_device_ops Vasilis Liaskovitis
2012-11-23 17:50   ` Vasilis Liaskovitis
2012-11-27  0:10   ` Toshi Kani
2012-11-27  0:10     ` Toshi Kani
2012-11-27 18:36     ` Vasilis Liaskovitis
2012-11-27 18:36       ` Vasilis Liaskovitis
2012-11-27 23:18     ` Rafael J. Wysocki
2012-11-27 23:18       ` Rafael J. Wysocki
2012-11-23 17:50 ` [RFC PATCH v3 2/3] acpi_memhotplug: Add prepare_remove operation Vasilis Liaskovitis
2012-11-23 17:50   ` Vasilis Liaskovitis
2012-11-24 16:23   ` Wen Congyang
2012-11-24 16:23     ` Wen Congyang
2012-11-23 17:50 ` [RFC PATCH v3 3/3] acpi_memhotplug: Allow eject to proceed on rebind scenario Vasilis Liaskovitis
2012-11-23 17:50   ` Vasilis Liaskovitis
2012-11-24 16:20   ` Wen Congyang
2012-11-24 16:20     ` Wen Congyang
2012-11-26  8:36     ` Vasilis Liaskovitis
2012-11-26  8:36       ` Vasilis Liaskovitis
2012-11-26  9:11       ` Wen Congyang
2012-11-26  9:11         ` Wen Congyang
2012-11-27  0:19         ` Toshi Kani
2012-11-27  0:19           ` Toshi Kani
2012-11-27 18:32           ` Vasilis Liaskovitis
2012-11-27 18:32             ` Vasilis Liaskovitis
2012-11-27 22:03             ` Toshi Kani
2012-11-27 22:03               ` Toshi Kani
2012-11-27 23:41               ` Rafael J. Wysocki
2012-11-27 23:41                 ` Rafael J. Wysocki
2012-11-28 16:01                 ` Toshi Kani
2012-11-28 16:01                   ` Toshi Kani
2012-11-28 18:40                   ` Rafael J. Wysocki
2012-11-28 18:40                     ` Rafael J. Wysocki
2012-11-28 21:02                     ` Toshi Kani
2012-11-28 21:02                       ` Toshi Kani
2012-11-28 21:40                       ` Rafael J. Wysocki
2012-11-28 21:40                         ` Rafael J. Wysocki
2012-11-28 21:40                         ` Toshi Kani
2012-11-28 21:40                           ` Toshi Kani
2012-11-28 22:01                           ` Rafael J. Wysocki
2012-11-28 22:01                             ` Rafael J. Wysocki
2012-11-28 22:04                             ` Toshi Kani
2012-11-28 22:04                               ` Toshi Kani
2012-11-28 22:21                               ` Rafael J. Wysocki
2012-11-28 22:21                                 ` Rafael J. Wysocki
2012-11-28 22:16                                 ` Toshi Kani [this message]
2012-11-28 22:16                                   ` Toshi Kani
2012-11-28 22:39                                   ` Rafael J. Wysocki
2012-11-28 22:39                                     ` Rafael J. Wysocki
2012-11-28 22:46                                     ` Greg KH
2012-11-28 22:46                                       ` Greg KH
2012-11-28 23:05                                       ` Rafael J. Wysocki
2012-11-28 23:05                                         ` Rafael J. Wysocki
2012-11-28 23:10                                         ` Greg KH
2012-11-28 23:10                                           ` Greg KH
2012-11-28 23:31                                           ` Rafael J. Wysocki
2012-11-28 23:31                                             ` Rafael J. Wysocki
2012-11-28 23:49                       ` Rafael J. Wysocki
2012-11-28 23:49                         ` Rafael J. Wysocki
2012-11-29  1:02                         ` Toshi Kani
2012-11-29  1:02                           ` Toshi Kani
2012-11-29  1:15                           ` Toshi Kani
2012-11-29  1:15                             ` Toshi Kani
2012-11-29 10:03                             ` Rafael J. Wysocki
2012-11-29 10:03                               ` Rafael J. Wysocki
2012-11-29 11:30                               ` Vasilis Liaskovitis
2012-11-29 11:30                                 ` Vasilis Liaskovitis
2012-11-29 16:57                                 ` Rafael J. Wysocki
2012-11-29 16:57                                   ` Rafael J. Wysocki
2012-11-29 17:56                                 ` Toshi Kani
2012-11-29 17:56                                   ` Toshi Kani
2012-11-29 20:25                                   ` Rafael J. Wysocki
2012-11-29 20:25                                     ` Rafael J. Wysocki
2012-11-29 20:38                                     ` Toshi Kani
2012-11-29 20:38                                       ` Toshi Kani
2012-11-29 21:23                                       ` Rafael J. Wysocki
2012-11-29 21:23                                         ` Rafael J. Wysocki
2012-11-29 21:46                                         ` Toshi Kani
2012-11-29 21:46                                           ` Toshi Kani
2012-11-29 22:11                                           ` Rafael J. Wysocki
2012-11-29 22:11                                             ` Rafael J. Wysocki
2012-11-29 23:17                                             ` Toshi Kani
2012-11-29 23:17                                               ` Toshi Kani
2012-11-30  0:13                                               ` Rafael J. Wysocki
2012-11-30  0:13                                                 ` Rafael J. Wysocki
2012-11-30  1:09                                                 ` Toshi Kani
2012-11-30  1:09                                                   ` Toshi Kani
2012-11-29 16:43                               ` Toshi Kani
2012-11-29 16:43                                 ` Toshi Kani
2012-11-29 11:04                             ` Vasilis Liaskovitis
2012-11-29 11:04                               ` Vasilis Liaskovitis
2012-11-29 17:44                               ` Toshi Kani
2012-11-29 17:44                                 ` Toshi Kani
2012-12-06  9:30                                 ` Vasilis Liaskovitis
2012-12-06  9:30                                   ` Vasilis Liaskovitis
2012-12-06 12:50                                   ` Rafael J. Wysocki
2012-12-06 12:50                                     ` Rafael J. Wysocki
2012-12-06 15:41                                     ` Toshi Kani
2012-12-06 15:41                                       ` Toshi Kani
2012-12-06 20:32                                       ` Rafael J. Wysocki
2012-12-06 20:32                                         ` Rafael J. Wysocki
2012-11-28 11:05 ` [RFC PATCH v3 0/3] acpi: Introduce prepare_remove device operation Hanjun Guo
2012-11-28 11:05   ` Hanjun Guo
2012-11-28 11:05   ` Hanjun Guo
2012-11-28 18:41   ` Toshi Kani
2012-11-28 18:41     ` Toshi Kani
2012-11-29  4:48     ` Hanjun Guo
2012-11-29  4:48       ` Hanjun Guo
2012-11-29  4:48       ` Hanjun Guo
2012-11-29 22:27       ` Toshi Kani
2012-11-29 22:27         ` Toshi Kani
2012-12-03  4:25         ` Hanjun Guo
2012-12-03  4:25           ` Hanjun Guo
2012-12-03  4:25           ` Hanjun Guo
2012-12-04  0:10           ` Toshi Kani
2012-12-04  0:10             ` Toshi Kani
2012-12-04  9:16             ` Hanjun Guo
2012-12-04  9:16               ` Hanjun Guo
2012-12-04  9:16               ` Hanjun Guo
2012-12-04 23:23               ` Toshi Kani
2012-12-04 23:23                 ` Toshi Kani
2012-12-05 12:10                 ` Hanjun Guo
2012-12-05 12:10                   ` Hanjun Guo
2012-12-05 12:10                   ` Hanjun Guo
2012-12-05 22:31                   ` Toshi Kani
2012-12-05 22:31                     ` Toshi Kani
2012-12-06 16:47                 ` Jiang Liu
2012-12-06 16:47                   ` Jiang Liu
2012-12-07  2:25                   ` Toshi Kani
2012-12-07  2:25                     ` Toshi Kani
2012-12-06 16:40             ` Jiang Liu
2012-12-06 16:40               ` Jiang Liu
2012-12-06 16:40               ` Jiang Liu
2012-12-06 20:30               ` Rafael J. Wysocki
2012-12-06 20:30                 ` Rafael J. Wysocki
2012-12-07  2:57               ` Toshi Kani
2012-12-07  2:57                 ` Toshi Kani
2012-12-07  5:57                 ` Jiang Liu
2012-12-07  5:57                   ` Jiang Liu
2012-12-07  5:57                   ` Jiang Liu
2012-12-08  1:08                   ` Toshi Kani
2012-12-08  1:08                     ` Toshi Kani
2012-12-11 14:34                     ` Jiang Liu
2012-12-11 14:34                       ` Jiang Liu
2012-12-13 14:42                       ` Toshi Kani
2012-12-13 14:42                         ` Toshi Kani
2012-12-13 15:15                         ` Jiang Liu
2012-12-13 15:15                           ` Jiang Liu
2012-12-15  1:19                           ` Toshi Kani
2012-12-15  1:19                             ` Toshi Kani
2012-11-29 10:15     ` Rafael J. Wysocki
2012-11-29 10:15       ` Rafael J. Wysocki
2012-11-29 11:36       ` Vasilis Liaskovitis
2012-11-29 11:36         ` Vasilis Liaskovitis
2012-12-06 16:59         ` Jiang Liu
2012-12-06 16:59           ` Jiang Liu
2012-11-29 17:03       ` Toshi Kani
2012-11-29 17:03         ` Toshi Kani
2012-11-29 20:30         ` Rafael J. Wysocki
2012-11-29 20:30           ` Rafael J. Wysocki
2012-11-29 20:39           ` Toshi Kani
2012-11-29 20:39             ` Toshi Kani
2012-11-29 20:56             ` Toshi Kani
2012-11-29 20:56               ` Toshi Kani
2012-11-29 21:25               ` Rafael J. Wysocki
2012-11-29 21:25                 ` Rafael J. Wysocki
2012-12-06 17:10                 ` Jiang Liu
2012-12-06 17:10                   ` Jiang Liu
2012-12-06 17:07           ` Jiang Liu
2012-12-06 17:07             ` Jiang Liu
2012-12-06 17:01         ` Jiang Liu
2012-12-06 17:01           ` Jiang Liu
2012-12-06 16:56       ` Jiang Liu
2012-12-06 16:56         ` Jiang Liu
2012-12-06 16:00     ` Jiang Liu
2012-12-06 16:00       ` Jiang Liu
2012-12-06 16:03       ` Toshi Kani
2012-12-06 16:03         ` Toshi Kani
2012-12-06 16:25         ` Jiang Liu
2012-12-06 16:25           ` Jiang Liu
2012-12-06 16:31           ` Toshi Kani
2012-12-06 16:31             ` Toshi Kani
2012-12-06 16:52             ` Jiang Liu
2012-12-06 16:52               ` Jiang Liu
2012-12-06 17:09               ` Toshi Kani
2012-12-06 17:09                 ` Toshi Kani
2012-12-06 17:30                 ` Jiang Liu
2012-12-06 17:30                   ` Jiang Liu
2012-12-06 17:28                   ` Toshi Kani
2012-12-06 17:28                     ` Toshi Kani

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=1354140982.26955.341.camel@misato.fc.hp.com \
    --to=toshi.kani@hp.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=rjw@sisk.pl \
    --cc=vasilis.liaskovitis@profitbricks.com \
    --cc=wencongyang@gmail.com \
    --cc=wency@cn.fujitsu.com \
    /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.