From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LirsN-0005fF-Rk for qemu-devel@nongnu.org; Sun, 15 Mar 2009 11:03:43 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LirsI-0005cr-Mt for qemu-devel@nongnu.org; Sun, 15 Mar 2009 11:03:43 -0400 Received: from [199.232.76.173] (port=48115 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LirsI-0005co-HA for qemu-devel@nongnu.org; Sun, 15 Mar 2009 11:03:38 -0400 Received: from mail-bw0-f162.google.com ([209.85.218.162]:53058) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LirsH-0003nL-Ec for qemu-devel@nongnu.org; Sun, 15 Mar 2009 11:03:37 -0400 Received: by bwz6 with SMTP id 6so710017bwz.34 for ; Sun, 15 Mar 2009 08:03:34 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20090315144445.GB30986@lst.de> References: <20090314192701.GA3497@lst.de> <20090314193127.GC3799@lst.de> <20090315144445.GB30986@lst.de> Date: Sun, 15 Mar 2009 17:03:34 +0200 Message-ID: Subject: Re: [Qemu-devel] [PATCH 6/6] experimental native preadv/pwritev support for Linux From: Blue Swirl Content-Type: multipart/mixed; boundary=001636c5a4404638ad046529a36c Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --001636c5a4404638ad046529a36c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/15/09, Christoph Hellwig wrote: > On Sun, Mar 15, 2009 at 04:36:16PM +0200, Blue Swirl wrote: > > On 3/14/09, Christoph Hellwig wrote: > > > > > > > > > This ties up Gerd Hoffmann's unmegred preadv/pwritev syscalls to qemu. Use with > > > care as the syscall numbers aren't finalized yet. > > > > > > If someone of the BSD folks is interested it should be trivial to tie this up > > > for the preadv/pwritev syscalls that have been around there for a while. > > > > At least OpenBSD has preadv & pwritev. > > > NetBSD also. But I don't have setup of either one, so I'll need some > help on that front. > > > > I'd add a check to configure to see if preadv exist and then define > > HAVE_PREADV. Though it's not possible to see if the kernel supports > > preadv if libc support does not exist (checking features by running > > programs breaks cross compilation). > > > The way glibc does it is only enable it if the underlying interface > exists, and then have another shortcut if it exists in the headers > but isn't supported by the underlying kernel. That's what I'll try > to implement. This patch adds a check for preadv, it does not find it on Linux but does on OpenBSD. --001636c5a4404638ad046529a36c Content-Type: plain/text; name="check_preadv.diff" Content-Disposition: attachment; filename="check_preadv.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fsbuw2t5 SW5kZXg6IHFlbXUvY29uZmlndXJlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9jb25maWd1cmUJ MjAwOS0wMy0xNSAxNDo1MzowNy4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvY29uZmlndXJlCTIw MDktMDMtMTUgMTQ6NTc6MTEuMDAwMDAwMDAwICswMDAwCkBAIC0xMTM4LDYgKzExMzgsMjAgQEAK ICAgQUlPTElCUz0iJEFJT0xJQlMgLWxydCIKIGZpCiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIyBwcmVhZHYgcHJvYmUKK2NhdCA+ICRUTVBDIDw8RU9GCisj aW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3Vpby5oPgorI2luY2x1ZGUgPHVu aXN0ZC5oPgoraW50IG1haW4odm9pZCkgeyByZXR1cm4gcHJlYWR2KDAsIE5VTEwsIDAsIDApOyB9 CitFT0YKKworcHJlYWR2PW5vCitpZiAkY2MgJEFSQ0hfQ0ZMQUdTIC1vICRUTVBFICRUTVBDID4g L2Rldi9udWxsIDI+IC9kZXYvbnVsbCA7IHRoZW4KKyAgcHJlYWR2PXllcworZmkKKwogaWYgdGVz dCAiJG1pbmd3MzIiID0gInllcyIgOyB0aGVuCiAgIGlmIHRlc3QgLXogIiRwcmVmaXgiIDsgdGhl bgogICAgICAgcHJlZml4PSJjOlxcXFxQcm9ncmFtIEZpbGVzXFxcXFFlbXUiCkBAIC0xMjEzLDYg KzEyMjcsNyBAQAogZWNobyAiSW5zdGFsbCBibG9icyAgICAgJGJsb2JzIgogZWNobyAiS1ZNIHN1 cHBvcnQgICAgICAgJGt2bSIKIGVjaG8gImZkdCBzdXBwb3J0ICAgICAgICRmZHQiCitlY2hvICJw cmVhZHYgc3VwcG9ydCAgICAkcHJlYWR2IgogCiBpZiB0ZXN0ICRzZGxfdG9vX29sZCA9ICJ5ZXMi OyB0aGVuCiBlY2hvICItPiBZb3VyIFNETCB2ZXJzaW9uIGlzIHRvbyBvbGQgLSBwbGVhc2UgdXBn cmFkZSB0byBoYXZlIFNETCBzdXBwb3J0IgpAQCAtMTUxNiw2ICsxNTMxLDkgQEAKICAgZWNobyAi I2RlZmluZSBIQVZFX0ZEVCAxIiA+PiAkY29uZmlnX2gKICAgZWNobyAiRkRUX0xJQlM9LWxmZHQi ID4+ICRjb25maWdfbWFrCiBmaQoraWYgdGVzdCAiJHByZWFkdiIgPSAieWVzIiA7IHRoZW4KKyAg ZWNobyAiI2RlZmluZSBIQVZFX1BSRUFEViAxIiA+PiAkY29uZmlnX2gKK2ZpCiAKICMgWFhYOiBz dXBwcmVzcyB0aGF0CiBpZiBbICIkYnNkIiA9ICJ5ZXMiIF0gOyB0aGVuCg== --001636c5a4404638ad046529a36c--