On Sun, May 06, 2007 at 10:48:23PM -0600, Eric W. Biederman wrote:Right - so how do we efficiently manipulate data inside a large block that spans multiple discontigous pages if we don't vmap it? Except when you structures span page boundaries. Then you can't directly reference the structure - it needs to be copied out elsewhere, modified and copied back. That's messy and will require significant modification to any filesystem that wants large block sizes.... I'm not sure I follow you here - copyin/copyout is to userspace and has to handle things like RMW cycles to a filesystem block. e.g. if we get a partial block over-write, we need to read in all the bits around it and that will span multiple discontiguous pages. Currently these function only handle RMW operations on something up to a single page in size - to handle a RMW cycle on a block larger than a page they are going to need substantial modification or entirely new interfaces. The high order page cache avoids the need to redesign interfaces because it doesn't change the interfaces between the filesystem and the page cache - everything still effectively operates on single pages and the filesystem block size never exceeds the size of a single page..... Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group -
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| David Dillow | CONFIG_NO_HZ breaks blktrace timestamps |
| David Miller | Re: tg3: unable to handle null pointer dereference |
git: | |
| Martin Langhoff | Handling large files with GIT |
| Jakub Narebski | Re: VCS comparison table |
| Scott Chacon | Git Community Book |
| Matthew L Foster | git and time |
| Daniel Ouellet | identifying sparse files and get ride of them trick available? |
| Richard Stallman | Real men don't attack straw men |
| Stefan Beke | mail dovecot: pipe() failed: Too many open files |
| Rico Secada | Re: Binary kernel and base update |
| Evgeniy Polyakov | Re: [PKT_SCHED]: Add stateless NAT |
| Tantilov, Emil S | RE: [BUG] NULL pointer dereference in skb_dequeue |
| KOVACS Krisztian | [PATCH 10/14] iptables socket match |
| Ilpo Järvinen | [PATCH] [TCP]: Separate lost_retrans loop into own function |
| How to make initramfs smaller | 4 minutes ago | Linux kernel |
| how to check if a given block device is in use? | 31 minutes ago | Linux kernel |
| How to exec user process in kernel mode. | 58 minutes ago | Linux kernel |
| [IPSEC]IPSEC_MANUAL_REQID_MAX | 3 days ago | Linux kernel |
| help in UDP catching module.. | 3 days ago | Linux kernel |
| Is there anything like Real-time drivers? | 5 days ago | Linux general |
| ns16550 serail console in Linux 2.6.19 | 5 days ago | Linux general |
| what class should i use to register my devices | 5 days ago | Linux kernel |
| reset bios pasword toshiba | 6 days ago | Hardware |
| Analysis of Process Scheduling | 1 week ago | Linux kernel |
