Arjan van de Ven wrote: >>> Additional async_synchronize_full() helps and box boot to the end. >>> > > Hi Linus, > > can you add the patch below to your tree? This makes the > async_synchronize_full() a real absolute async barrier, rather than > just synchronizing the work scheduled upto the starting point. > It's a bit too much for some cases (so later on I might introduce the > softer synchronization again) but it solves some real problems > for people so this should go into -rc1 please... > > >From ca1827b142e41b54c612026b3c0b5d239f21a715 Mon Sep 17 00:00:00 2001 > From: Arjan van de Ven > Date: Thu, 8 Jan 2009 12:35:11 -0800 > Subject: [PATCH] async: make async_synchronize_full() more serializing > > turns out that there are real problems with allowing async > tasks that are scheduled from async tasks to run after > the async_synchronize_full() returns. > > This patch makes the _full more strict and a complete > synchronization. Later I might need to add back a lighter > form of synchronization for other uses.. but not right now. > > Signed-off-by: Arjan van de Ven > --- > kernel/async.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/kernel/async.c b/kernel/async.c > index 9737338..64cc916 100644 > --- a/kernel/async.c > +++ b/kernel/async.c > @@ -206,7 +206,9 @@ EXPORT_SYMBOL_GPL(async_schedule_special); > > void async_synchronize_full(void) > { > - async_synchronize_cookie(next_cookie); > + do { > + async_synchronize_cookie(next_cookie); > + } while (!list_empty(&async_running) || !list_empty(&async_pending)); > } > EXPORT_SYMBOL_GPL(async_synchronize_full); > > I have to say that ohci/firescope is nice poof right up: dmesg shows up: attach is the results. unfortunantly nothing different than what the boot screen shows. <7>[ 2.003768] sd 2:0:1:0: [sda] Mode Sense: 00 3a 00 00 <5>[ 2.012019] sd 2:0:1:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA <5>[ 2.012055] sd 2:0:1:0: Attached scsi generic sg1 type 0 <4>[ 2.012270] VFS: Cannot open root device "sda1" or unknown-block(0,0) <4>[ 2.012271] Please append a correct "root=" boot option; here are the available partitions: <4>[ 2.012276] 0b00 1048575 sr0 driver: sr <0>[ 2.012279] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) regards; Justin P. Mattock