From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.176.0/21 X-Spam-Status: No, score=-3.3 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MSGID_FROM_MTA_HEADER,RP_MATCHES_RCVD shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 From: Linus Torvalds Subject: Re: [WISH] Store also tag dereferences in packed-refs Date: Sun, 19 Nov 2006 15:26:12 -0800 (PST) Message-ID: References: <7vac2oefuz.fsf@assigned-by-dhcp.cox.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII NNTP-Posting-Date: Sun, 19 Nov 2006 23:26:31 +0000 (UTC) Cc: Junio C Hamano , git@vger.kernel.org Return-path: Envelope-to: gcvg-git@gmane.org In-Reply-To: X-MIMEDefang-Filter: osdl$Revision: 1.159 $ X-Scanned-By: MIMEDefang 2.36 Precedence: bulk X-Mailing-List: git@vger.kernel.org Archived-At: Received: from vger.kernel.org ([209.132.176.167]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Glw3L-0002aD-7S for gcvg-git@gmane.org; Mon, 20 Nov 2006 00:26:23 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933737AbWKSX0S (ORCPT ); Sun, 19 Nov 2006 18:26:18 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933739AbWKSX0S (ORCPT ); Sun, 19 Nov 2006 18:26:18 -0500 Received: from smtp.osdl.org ([65.172.181.25]:52879 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S933737AbWKSX0R (ORCPT ); Sun, 19 Nov 2006 18:26:17 -0500 Received: from shell0.pdx.osdl.net (fw.osdl.org [65.172.181.6]) by smtp.osdl.org (8.12.8/8.12.8) with ESMTP id kAJNQDix016119 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Sun, 19 Nov 2006 15:26:13 -0800 Received: from localhost (shell0.pdx.osdl.net [10.9.0.31]) by shell0.pdx.osdl.net (8.13.1/8.11.6) with ESMTP id kAJNQCDI021112; Sun, 19 Nov 2006 15:26:12 -0800 To: Marco Costalba Sender: git-owner@vger.kernel.org On Sun, 19 Nov 2006, Marco Costalba wrote: > > Excuse me for my ignorance, but isn' it the job of OS disk schedulers? The OS disk scheduler does exactly that but ONLY IF IT'S GIVEN DATA TO WORK ON IN PARALLEL If an application gives it read requests one by one, the OS has no choice but to just do the accesses one by one. Writes are easier, since you can just buffer them. But you can't "buffer" a read. When the user asks for a readdir(), you'd better give it to the user, and there's not anything you can do about it. So disk schedulers only work for - parallel workloads - writes (where "parallel workloads" can be asynchronous reads - where the user says "I will _start_ this read, notify me when it's done" and then gives multiple independent reads to do in parallel). So the OS cannot add parallelism - it can only take advantage of what parallelism the application gives it.