DragonFly kernel List (threaded) for 2008-04
DragonFly BSD
DragonFly kernel List (threaded) for 2008-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Summer of Code: Extending Multi-Processing (MP) support


From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Mon, 28 Apr 2008 16:23:37 +0200

Matthew Dillon wrote:
>     Making struct proc access MP safe (by adding appropriate spin locks or
>     lockmgr locks or lwkt_token locks) would allow us to push the MP lock
>     further into the code.  It would be a big deal.
> 
>     Another area that really needs MP help, but is a *LOT* more difficult,
>     is the VFS API (the VOP interface).  I do not think it would be a good
>     project because it will take a huge amount of work to get those APIs
>     MP safe.

I think we should analyze this from a syscall point of view -- which syscalls are touching which subsystems which are still under the MP lock?  Having a table like this would help in deciding which subsystems are the most important targets.  Then we could rank these targets relative to benefit and level of complexity.

I'd like to find a subsystem where we can observe the impact of parallelizing it -- also maybe a subsystem which warrants using a more sophisticated approach, maybe by splitting data on CPUs, etc.  What I want to avoid is creating a fine grained locking infrastructure for all structures in the kernel -- we can and should do better than that.  Of course some subsystems are not in the fast path or can't be split onto multiple CPUs;  then we don't have a choice.

cheers
  simon

Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]