[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200711142117.56352.nickpiggin@yahoo.com.au>
Date: Wed, 14 Nov 2007 21:17:55 +1100
From: Nick Piggin <nickpiggin@...oo.com.au>
To: Paul Mackerras <paulus@...ba.org>
Cc: David Miller <davem@...emloft.net>, hch@...radead.org,
akpm@...ux-foundation.org, gregkh@...e.de, mucci@...utk.edu,
eranian@....hp.com, wcohen@...hat.com, robert.richter@....com,
linux-kernel@...r.kernel.org, andi@...stfloor.org
Subject: Re: [perfmon] Re: [perfmon2] perfmon2 merge news
On Thursday 15 November 2007 08:30, Paul Mackerras wrote:
> Nick Piggin writes:
> > What I really mean is a readv-like syscall, but one that also
> > vectorises the file offset. Maybe this is useful enough as a generic
> > syscall that also helps Paul's example...
>
> I've sometimes thought it would be useful to have a "transaction"
> system call that is like a write + read combined into one:
>
> int transaction(int fd, char *req, size_t req_nb,
> char *reply, size_t reply_nb);
>
> as a way to provide a general request/reply interface for special
> files.
Maybe not a bad idea, though I'm not the one to ask about taste ;)
In this case, it is enough for your requests to be a set of scalars
(eg. file offsets), so it _could_ be handled with vectorised offsets...
But in general, for special files, I guess the response is usually
some structured data (that is not visible at the syscall layer).
So I don't see a big problem to have a similarly arbitrarily
structured request.
> > Of course, I guess this all depends on whether the atomicity is an
> > important requirement. If not, you can obviously just do it with
> > multiple read syscalls...
>
> That would take N system calls instead of one, which could have a
> performance impact if you need to read the counters frequently (which
> I believe you do in some performance monitoring situations).
That's true too.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists