On Mon, 5 May 2003, Petri Helenius wrote: > > The kthread is supposed to acquire Giant before calling kthread_exit(). > > Actually, my guess is that the ar kthread needs to acquire Giant for the > > lifetime of the thread. I have an untested patch locally: > > > I thought the lifetime of the thread is the duration of the rebuild > process? Which can be minutes to hours. Locking giant for that kind of > time does not sound right, so locking it just before thread exit sounds > like the right thing to do, as long as the code othervise keeps critical > sections locked. Giant is a funnel-style mutex intended to emulate the older spinlock protection of the kernel from parallelism. It operates somewhat like a normal sleep mutex except that you release the mutex whenever you (the thread holding Giant) sleep so if the rebuild process involves sleeping, it will release Giant every time it sleeps. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert_at_fledge.watson.org Network Associates LaboratoriesReceived on Mon May 05 2003 - 12:04:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:06 UTC