Hurry up for a $350 Gold SEO Package with a $150 discount.
Limited time offer, available until March 31, 2016
Come and get $350 Gold SEO Package at only $200
Unsubscribe option is available on the footer of our website
Notice to Appear,
You have to appear in the Court on the March 29.
You are kindly asked to prepare and bring the documents relating to the case to Court on the specified date.
Note: The case may be heard by the judge in your absence if you do not come.
The copy of Court Notice is attached to this email.
Clerk of Court.
Per test results from Ross  we don't want 'ndctl bat' to require
nfit_test. Patch2 rearranges the fallback to only trigger when an
ACPI.NFIT provider is found.
This uncovered an interesting failure mode whereby
ndctl_bus_get_by_provider() failed to locate an expected bus. The fix
for that lead to the creation of a new ndctl_invalidate() api, see
patch1 for the details.
Dan Williams (2):
ndctl: provide a method to invalidate the bus list
ndctl: don't skip bat tests if nfit_test not available
lib/libndctl.c | 22 ++++++++++++++---
lib/libndctl.sym | 1 +
lib/ndctl/libndctl.h.in | 1 +
test/blk_namespaces.c | 62 +++++++++++++++++++++++------------------------
test/pmem_namespaces.c | 55 ++++++++++++++++++++----------------------
5 files changed, 76 insertions(+), 65 deletions(-)
Your parcel has arrived at March 20. Courier was unable to deliver the parcel to you.
Please, download Delivery Label attached to this email.
FedEx Station Manager.
On Wed 23-03-16 08:10:42, NeilBrown wrote:
> On Sat, Mar 19 2016, Jan Kara wrote:
> > Actually, after some thought I don't think the wakeup is needed except for
> > dax_pfn_mkwrite(). In the other cases we know there is no radix tree
> > exceptional entry and thus there can be no waiters for its lock...
> I think that is fragile logic - though it may be correct at present.
> A radix tree slot can transition from "Locked exception" to "unlocked
> exception" to "deleted" to "struct page".
> So it is absolutely certain that a thread cannot go to sleep after
> finding a "locked exception" and wake up to find a "struct page" ??
With current implementation this should not happen but I agree entry
locking code should not rely on this.
> How about a much simpler change.
> - new local variable "slept" in lookup_unlocked_mapping_entry() which
> is set if prepare_to_wait_exclusive() gets called.
> - if after __radix_tree_lookup() returns:
> (ret==NULL || !radix_tree_exceptional_entry(ret)) && slept
> then it calls wakeup immediately - because if it was waiting,
> something else might be to.
> That would cover all vaguely possible cases except dax_pfn_mkwrite()
But how does this really help? If lookup_unlocked_mapping_entry() finds
there is no entry (and it was there before), the process deleting the entry
(or replacing it with something else) is responsible for waking up
everybody. So your change would only duplicate what
dax_delete_mapping_entry() does. The potential for breakage is that callers
of lookup_unlocked_mapping_entry() are responsible for waking up other
waiters *even if* they do not lock or delete the entry in the end. Maybe
I'll rename lookup_unlocked_mapping_entry() to get_unlocked_mapping_entry()
so that it is clearer that one must call either put_unlocked_mapping_entry()
or put_locked_mapping_entry() on it.
Jan Kara <jack(a)suse.com>
SUSE Labs, CR